利用opencv实现图片相减——小项目:找不同

涉及:图片读取,图片保存,感兴趣区域选取,图像相减

找出下面两张图之间的八个不同

原图:
原图

代码:

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

using namespace std;
using namespace cv;

void find_difference()
{
	string path = "C:/Users/admin/Desktop/chickenspot8.jpg";
	Mat src_img = imread(path, 0);//按灰度值读取图片
	
	Rect roi1 = Rect(35, 140, 330, 240);//把原图的两幅图片选取出来
	Rect roi2 = Rect(35, 374, 330, 240);
	Mat img1 = src_img(roi1);
	Mat img2 = src_img(roi2);

	Mat result_img = abs(img2 - img1);//图像相减

	imshow("原图", src_img);//显示图片
	imshow("对比图1", img1);
	imshow("对比图2", img2);
	imshow("结果", result_img);
	waitKey();

	imwrite("C:/Users/admin/Desktop/对比图1.jpg", img1);//保存图片
	imwrite("C:/Users/admin/Desktop/对比图2.jpg", img2);
	imwrite("C:/Users/admin/Desktop/结果.jpg", result_img);

}


int main()
{
	find_difference();
}

运行结果:
对比1 对比2 结果

发布了4 篇原创文章 · 获赞 2 · 访问量 114

猜你喜欢

转载自blog.csdn.net/weixin_44132302/article/details/103504255