quick_opencv.h
#include<opencv2\opencv.hpp>
using namespace cv;
class QuickDemo{
public:
void operators_demo(Mat &image);//图像算数操作
};
QuickDemo.cpp
#include<quick_opencv.h>
//图像算数操作
void QuickDemo::operators_demo(Mat &image) {
Mat dst1,dst2,dst3,dst4;
//超出255会被截断
add(image,Scalar(100, 100, 100),dst1);
imshow("加法操作+100", dst1);
subtract(image,Scalar(100, 100, 100), dst2);
imshow("减法操作-100", dst2);
divide(image,Scalar(10, 10, 10),dst3);
imshow("除法操作/10", dst3);
multiply(image, Scalar(2, 2, 2),dst4);
imshow("乘法操作*2", dst4);
}
主函数main.cpp
#include<opencv2/opencv.hpp>
#include<quick_opencv.h>
#include<iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
//读取并显示图像,如果imread返回的Mat对象(src)是空的,打印错误消息并退出程序。
Mat src = imread("C:/Users/WangYinning/Desktop/opencv-0/win.png");//B G R 蓝绿红
if (src.empty())
{
printf("could not find the image...\n");
return -1;
}
namedWindow("原图", WINDOW_FREERATIO);//创建一个可以自由调整比例的窗口
imshow("原图", src);
//创建QuickDemo类的实例qd
QuickDemo qd;
//图像算数操作
qd.operators_demo(src);
//等待用户输入并清理资源
waitKey(0);
destroyAllWindows();
return 0;
}