C++opencv图像算数操作-加减乘除

发布于:2024-02-20 ⋅ 阅读:(84) ⋅ 点赞:(0)

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;
}

在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到