用c++和opencv,读取"C:\\CR\\实验数据\\084.jpg"和"C:\\CR\\实验数据\\085.jpg",其中085.jpg是084.jpg中的一个小窗口;以小影像085.jpg为目标窗口,在大影像084.jpg上寻找与该窗口灰度一致的窗口,并以该窗口的中心点为目标窗口中心点的同名点。
时间: 2023-07-08 20:55:29 浏览: 48
下面是一个使用 C++ 和 OpenCV 实现上述功能的示例代码:
```c++
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main() {
// 读取大影像和小窗口
Mat img_src = imread("C:\\CR\\实验数据\\084.jpg");
Mat img_template = imread("C:\\CR\\实验数据\\085.jpg");
// 灰度化
cvtColor(img_src, img_src, COLOR_BGR2GRAY);
cvtColor(img_template, img_template, COLOR_BGR2GRAY);
// 匹配模板
Mat result;
matchTemplate(img_src, img_template, result, TM_CCOEFF_NORMED);
// 查找最佳匹配位置
double min_val, max_val;
Point min_loc, max_loc;
minMaxLoc(result, &min_val, &max_val, &min_loc, &max_loc);
// 绘制结果
rectangle(img_src, max_loc, Point(max_loc.x + img_template.cols, max_loc.y + img_template.rows), Scalar(0, 255, 0), 2);
circle(img_src, Point(max_loc.x + img_template.cols / 2, max_loc.y + img_template.rows / 2), 5, Scalar(0, 0, 255), -1);
// 显示结果
imshow("Result", img_src);
waitKey(0);
return 0;
}
```
这个示例代码首先使用 `imread` 函数读取大影像和小窗口,并分别将它们转换为灰度图像。然后使用 `matchTemplate` 函数在大影像中查找与小窗口灰度一致的窗口,并返回匹配结果。接下来,使用 `minMaxLoc` 函数查找匹配结果中的最佳匹配位置,并在大影像上绘制结果。最后,使用 `imshow` 函数显示结果。
需要注意的是,这个示例代码假设小窗口在大影像中只出现一次,并且窗口大小与模板大小相同。如果窗口在大影像中出现多次,或者窗口大小与模板大小不同,需要对代码进行相应的修改。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)