opencv 变形匹配C++
时间: 2023-12-12 10:35:56 浏览: 90
以下是OpenCV中变形匹配的C++实现代码示例:
```cpp
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
// 读取原始图像和模板图像
Mat srcImage = imread("srcImage.jpg"); Mat tplImage = imread("tplImage.jpg");
// 定义变量
Mat resultImage;
Point minLoc, maxLoc;
double minVal, maxVal;
// 进行模板匹配
matchTemplate(srcImage, tplImage, resultImage, CV_TM_CCOEFF_NORMED);
// 获取匹配结果中的最大值和最小值及其位置
minMaxLoc(resultImage, &minVal, &maxVal, &minLoc, &maxLoc);
// 绘制匹配结果
rectangle(srcImage, maxLoc, Point(maxLoc.x + tplImage.cols, maxLoc.y + tplImage.rows), Scalar(0, 0, 255), 2, 8, 0);
// 显示匹配结果
imshow("result", srcImage);
waitKey(0);
return 0;
}
```
该代码实现了基于OpenCV的变形匹配,其中使用了`matchTemplate`函数进行模板匹配,使用`minMaxLoc`函数获取匹配结果中的最大值和最小值及其位置,最后使用`rectangle`函数在原始图像中绘制匹配结果。
阅读全文