06 OpenCV增加图像的对比度

小明 2025-05-01 14:02:55 7

文章目录

  • 理论
  • API
  • 代���

    理论

    图像变换可以看作如下:

    • 像素变换 – 点操作
    • 邻域操作 – 区域

      调整图像亮度和对比度属于像素变换-点操作

      API

      • saturate_cast(value)确保值大小范围为0~255之间
      • Mat.at(y,x)[index]=value 给每个像素点每个通道赋值

        代码

        #include 
        #include 
        using namespace cv;
        int main(int argc, char** argv) {
        	Mat src, dst;
        	src = imread("test.png");
        	if (!src.data) {
        		printf("could not load image...\n");
        		return -1;
        	}
        	char input_win[] = "input image";
        	cvtColor(src, src, CV_BGR2GRAY);
        	namedWindow(input_win);
        	imshow(input_win, src);
        	// contrast and brigthtness changes 
        	int height = src.rows;
        	int width = src.cols;
        	dst = Mat::zeros(src.size(), src.type());
        	float alpha = 1.2;
        	float beta = 30;
        	Mat m1;
        	src.convertTo(m1, CV_32F);
        	for (int row = 0; row 
                        
                        
                        
The End
微信