【转载】OpenCV亮度调节

OpenCV是一个强大的计算机视觉库,提供了如addWeighted、multiply和convertScaleAbs等函数来调节图像亮度。addWeighted通过加权叠加实现亮度和对比度调整,multiply通过乘以特定尺度因子改变亮度,convertScaleAbs则进行简单的灰度缩放和转换。这些工具方便了图像处理中的亮度控制,提升图像质量。
摘要由CSDN通过智能技术生成

opencv亮度调节函数

OpenCV 是一个广泛应用的计算机视觉库,拥有丰富的图像处理函数库。其中亮度调节函数是其中一个重要的函数,可以对图像的亮度进行调节,提高图像的可视效果。

0penCV 中亮度调节函数有三种:addWeighted、multiplz和convertScaleAbs.

1.addWeighted()

addweightedQ函数可以将两张图片按照一定比例进行加权叠加,从而改变图像的亮度和对比度。函数的定义如下:

void cv::addWeighted(

InputArray src1,//第一张图片

double alpha,//第一张图片的权重

InputArraysrc2,//第二张图片

double beta,//第二张图片的权重

double gamma,//叠加时的gamma 值

OutputArray dst //输出图像

)

其中src1和src2是输入图像,alpha和beta 是两张图像的权重,gamma是叠加时的gamma值,dst 是输出图像。

下面是一个示例代码:

2.multiply()

Mat img = imread("test. jpg");//读取图片

Mat dst;//输出图像

double scale = 1.5;//乘法时的缩放比例

multiply(img, Scalar(scale, scale, scale), dst)://亮度调节

imshow("Result",dst);//显示结果图像

3.convertScaleAbs()

以上就是0penCV亮度调节函数的介绍和示例代码。通过这些函数,我们可以轻松调节图像的亮度和对比度,提高图像的可视效果。

来自百度

 

在使用OpenCV进行图像处理时,我们经常需要调整图像的亮度。可以通过创建一个滑条来实现亮度调节。下面是一个简单的示例代码,演示了如何创建一个滑条并实现回调函数来调整图像的亮度。 ```c++ #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace std; int brightness = 50; // 初始亮度值 void on_brightness_trackbar(int, void*); // 回调函数 int main() { Mat image = imread("test.jpg"); // 读取图像 if (image.empty()) { cout << "Could not open or find the image" << endl; return -1; } namedWindow("Image", WINDOW_NORMAL); // 创建窗口 createTrackbar("Brightness", "Image", &brightness, 100, on_brightness_trackbar); // 创建滑条 imshow("Image", image); // 显示图像 waitKey(0); // 等待按键 return 0; } void on_brightness_trackbar(int, void*) { // 读取图像 Mat image = imread("test.jpg"); if (image.empty()) { cout << "Could not open or find the image" << endl; return; } // 调整亮度 Mat bright_image; image.convertTo(bright_image, -1, brightness / 50.0, 0); // 显示图像 imshow("Image", bright_image); } ``` 在这个示例中,我们首先读取了一张图像,然后创建了一个名为“Brightness”的滑条,初始值为50,最大值为100。当滑条的值发生变化时,会调用回调函数`on_brightness_trackbar`。在回调函数中,我们首先读取了原始图像,然后使用`convertTo`函数调整图像的亮度,并将结果显示在窗口中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值