利用opencv提供的加减乘除函数对图像的亮度处理

#include<iostream>
#include<opencv2opencv.hpp>

using namespace std;
using namespace cv;

int main()
{
          
   
	Mat img;
	img = imread("D:/photogallery/image_4.png");
	if (img.empty())
	{
          
   
		cout << "失败" << endl;
		return -1;
	}
	imshow("图片4", img);
	//创建空白图像,大小和类型都和前面读入的img相同
	Mat m = Mat::zeros(img.size(), img.type());
	Mat dst = Mat::zeros(img.size(), img.type());

	m = Scalar(50, 50, 50);
	add(img, m, dst);
	imshow("加法后的图片4", dst);

	m = Scalar(50, 50, 50);
	subtract(img, m, dst);
	imshow("减法后的图片4", dst);

	m = Scalar(2, 2, 2);
	multiply(img, m, dst);
	imshow("乘法后的图片4", dst);

	m = Scalar(2, 2, 2);
	divide(img, m, dst);
	imshow("除法后的图片4", dst);

	waitKey(0);
	system("pause");
	return 0;
}

原图片:

代码运行结果:

这四个函数名均为其对应的英文单词,参数格式一致:函数名(原图片,运算用的矩阵,运算结束后的矩阵);

可以明显看出 利用加减乘除实现了对图片亮度的处理。

经验分享 程序员 微信小程序 职场和发展