本文主要是介绍利用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();
}
运行结果:
这篇关于利用opencv实现图片相减——小项目:找不同的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!