一、调整图像亮度与对比度
1、理论
图像变换可以看作如下:
**(1)**像素变换 – 点操作
(2)邻域操作 – 区域(作用:图像的卷积,图像的整体特征的提取,图像的梯度,对图像做一些更深入的模式匹配,图像的前期处理、图像模糊等等操作)
调整图像亮度和对比度属于像素变换-点操作
2、重要的API
(1)Mat new_image = Mat::zeros( image.size(), image.type() ); 创建一张跟原图像大小和类型一致的空白图像、像素值初始化为0
(2)saturate_cast(value)确保值大小范围为0~255之间
(3)Mat.at(y,x)[index]=value 给每个像素点每个通道赋值
3、代码演示
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
int main(int argc, char** argv) {
Mat src, dst;
src = imread("D:/vcprojects/images/test.png");
if (!src.data) {
printf("could not load image...\n");
return -1;
}
char input_win[]