opencv-图像亮度与对比度

Posted 殇堼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv-图像亮度与对比度相关的知识,希望对你有一定的参考价值。

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
int main(int argc, char** argv) {
	Mat src, dst;
	src = imread("D:/images/gaoyy.png");
	if (!src.data) {
		printf("could not load image...\\n");
		return -1;
	}

	imshow("before", src);

	// contrast and brigthtness changes 
	int height = src.rows;
	int width = src.cols;
	dst = Mat::zeros(src.size(), src.type());
	float alpha = 1.1; //1.1  设置对比度
	float beta = 1;   //3  设置亮度

	Mat m1;
	src.convertTo(m1, CV_32F);
	for (int row = 0; row < height; row++) {
		for (int col = 0; col < width; col++) {
			if (src.channels() == 3) {
				float b = m1.at<Vec3f>(row, col)[0];// blue
				float g = m1.at<Vec3f>(row, col)[1]; // green
				float r = m1.at<Vec3f>(row, col)[2]; // red

													 // output
				dst.at<Vec3b>(row, col)[0] = saturate_cast<uchar>(b*alpha + beta);
				dst.at<Vec3b>(row, col)[1] = saturate_cast<uchar>(g*alpha + beta);
				dst.at<Vec3b>(row, col)[2] = saturate_cast<uchar>(r*alpha + beta);
			}
			
		}
	}

	imshow("after", dst);

	waitKey(0);
	return 0;
}

对比度:1.1
设置亮度:1
在这里插入图片描述

对比度:0.9
设置亮度:-1
在这里插入图片描述
对比度:1.1
设置亮度:-1在这里插入图片描述

【opencv学习笔记】007之图像亮度与对比度

以上是关于opencv-图像亮度与对比度的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV 调整图像亮度与对比度

OpenCV 调整图像亮度与对比度

Android OpenCV之算数操作与调整图像的亮度和对比度

Android OpenCV之算数操作与调整图像的亮度和对比度

opencv4opencv视频教程 C++ 7手动调整图像亮度与对比度 g(i, j) = αf(i, j) + β(点操作与邻域操作概念)

OpenCV图像线性变换(图像线性混合亮度和对比度增强线性变换API)