黄冈网站推广软件,html做校园网站,正版win10做win7系统下载网站,电子商务网站体系结构有哪些?操作系统#xff1a;ubuntu22.04 OpenCV版本#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言#xff1a;C11
算法描述
对选定区域内的梯度场应用适当的非线性变换#xff0c;然后通过泊松求解器重新积分#xff0c;可以局部修改图像的表观照明。
cv::illuminati… 操作系统ubuntu22.04 OpenCV版本OpenCV4.9 IDE:Visual Studio Code 编程语言C11
算法描述
对选定区域内的梯度场应用适当的非线性变换然后通过泊松求解器重新积分可以局部修改图像的表观照明。
cv::illuminationChange 是 OpenCV 中用于调整图像光照效果的一个函数。通过这个函数你可以修改图像中的光照分布以达到改善图像视觉效果或者为图像处理任务做准备的目的。
函数原型
void cv::illuminationChange
(InputArray src,InputArray mask,OutputArray dst,float alpha 0.2f,float beta 0.4f
) 参数
参数src 输入8位3通道图像。参数mask 输入8位1或3通道图像。参数dst 与src大小和类型相同的输出图像。参数alpha 值范围在0到2之间。参数beta 值范围在0到2之间。
这对于突出显示曝光不足的前景对象或减少镜面反射非常有用。
代码示例
#include opencv2/opencv.hppint main()
{// 加载输入图像cv::Mat src cv::imread( /media/dingxin/data/study/OpenCV/sources/images/jiangnan.jpg );// 加载掩膜图像cv::Mat mask2 cv::imread( /media/dingxin/data/study/OpenCV/sources/images/mask.png, cv::IMREAD_GRAYSCALE );// 确保图像被正确加载if ( src.empty() || mask2.empty() ){std::cout 图像加载失败请检查路径是否正确。\n;return -1;}// 调整原始图像的大小cv::Mat mask;cv::resize(mask2, mask, src.size());cv::Mat dst;float alpha 0.2f; // 根据需要调整float beta 0.4f; // 根据需要调整// 应用illuminationChange函数cv::illuminationChange( src, mask, dst, alpha, beta );// 显示结果cv::imshow( Original Image, src );cv::imshow( Illumination Changed, dst );cv::waitKey( 0 );return 0;
}运行结果