加减乘除
对于图像,可分为单通道(灰度图)、三通道(彩色)图片。
图像的算术操作即改变像素点的值。
#include<opencv2/opencv.hpp>
#include<iostream>
//#include"quickopencv.h"
using namespace cv;
using namespace std;
void QuickDemo::operators_demo(Mat& image)
{
//加法
Mat dst = image;
dst += Scalar(50, 50, 50);
imshow("加法", dst); //对image图像每个像素点的三个通道值加50
//减法
Mat dst = image;
//dst -= Scalar(50, 50, 50);
imshow("减法", dst); //对image图像每个像素点的三个通道值减50
//乘法
Mat m = Mat::zeros(image.size(), image.type());
m = Scalar(2, 2, 2);
multiply(m, image, dst);// image图像每个像素点的三个通道值乘二
imshow("乘法", dst);
//除法
Mat m = Mat::zeros(image.size(), image.type());
m = Scalar(2, 2, 2);
divide(image, m, dst); //// image图像每个像素点的三个通道值除以二
imshow("除法", dst);
}
int main(int argc, char** argv)
{
Mat src = imread("图片绝对地址");
if (src.empty()) {
cout << "没有图片" << endl;
return -1;
}
imshow("输入窗口", src);
QuickDemo qd;
qd.operators_demo(src);
waitKey(0);
destroyAllWindows();
return 0;
}