控制图

06 OpenCV调整图像亮度与对比度

三世轮回 提交于 2020-02-03 02:04:26
一、原理及相关API dst = alpha*src + beta alpha > 0 控制图像对比度,beta是增益变量,控制图像亮度 Mat new_img = Mat::zeros(img.size(),img.type()); 创建一张和原图像大小和类型一致的空白图像,像素值初始化为0 saturate_cast<uchar>(value) 确保值范围在0~255之间 Mat.at<Vec3b>(y,x)[index] = value; 给每个像素点每个通道赋值 二、通过读写像素的方式调整亮度与对比度 # include <opencv2/opencv.hpp> # include <iostream> using namespace std ; using namespace cv ; int main ( ) { Mat src , dst ; src = imread ( "images/02.png" ) ; if ( ! src . data ) { cout << "could not load image1..." << endl ; return - 1 ; } namedWindow ( "input_image" , CV_WINDOW_AUTOSIZE ) ; imshow ( "input_image" , src ) ; int height =