41 lines
924 B
C++
41 lines
924 B
C++
// 减法,与加法基本一样,只把add改成了subtract.
|
||
#include <opencv2/opencv.hpp>
|
||
#include <iostream>
|
||
|
||
using namespace std;
|
||
using namespace cv;
|
||
|
||
int main()
|
||
{
|
||
string path1 = "../img/2.jpg";
|
||
string path2 = "../img/3.jpg";
|
||
|
||
Mat img1 = imread(path1);
|
||
Mat img2 = imread(path2);
|
||
|
||
if (img1.empty() || img2.empty())
|
||
{
|
||
cout << "无法读取图片,请检查路径!" << endl;
|
||
return -1;
|
||
}
|
||
|
||
if (img1.size() != img2.size())
|
||
{
|
||
cout << "尺寸不一致,正在自动调整 img2 的尺寸..." << endl;
|
||
// 将 img2 缩放到与 img1 相同的尺寸
|
||
resize(img2, img2, img1.size());
|
||
}
|
||
|
||
Mat result;
|
||
subtract(img1, img2, result);
|
||
|
||
imshow("Original Image 1", img1);
|
||
imshow("Original Image 2", img2);
|
||
imshow("Subtract Result", result);
|
||
|
||
// 等待按键后关闭窗口
|
||
waitKey(0);
|
||
destroyAllWindows();
|
||
|
||
return 0;
|
||
} |