涉及:图片读取,图片保存,感兴趣区域选取,图像相减
找出下面两张图之间的八个不同
原图:
代码:
#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();
}
运行结果: