你可以用C++来实现嘛
时间: 2024-02-11 16:03:43 浏览: 22
当然可以。以下是使用C++和OpenCV库实现两幅图像的差异点标记的示例代码:
```c++
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main() {
// 读取两张图像
Mat img1 = imread("image1.jpg");
Mat img2 = imread("image2.jpg");
// 计算差异图像
Mat diff;
absdiff(img1, img2, diff);
// 二值化处理
Mat thresh;
threshold(diff, thresh, 0, 255, THRESH_BINARY);
// 查找轮廓
vector<vector<Point>> contours;
findContours(thresh, contours, RETR_EXTERNAL, CHAIN_APPROX_SIMPLE);
// 标记差异点
for (int i = 0; i < contours.size(); i++) {
Rect rect = boundingRect(contours[i]);
rectangle(img1, rect, Scalar(0, 0, 255), 2);
}
// 显示标记后的图像
imshow("Diff Image", img1);
waitKey(0);
destroyAllWindows();
return 0;
}
```
需要注意的是,需要在编译命令中链接OpenCV库,例如:
```
g++ -o program main.cpp `pkg-config opencv --cflags --libs`
```
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)