c++ opencv 模板匹配
程序员文章站
2022-04-01 07:58:50
...
#include<iostream>
#include<opencv2\opencv.hpp>
using namespace std;
using namespace cv;
cv::Mat Template_matching(cv::Mat src, cv::Mat templ)
{
cv::Mat ftmp; cv::Mat corp_result;
double minVal; double maxVal; cv::Point minLoc; cv::Point maxLoc;
cv::Point matchLoc;
matchTemplate(src, templ, ftmp, 1);//有6种匹配方式,这里的1 是其中一种
normalize(ftmp, ftmp, 0, 1, cv::NORM_MINMAX, -1, cv::Mat());
minMaxLoc(ftmp, &minVal, &maxVal, &minLoc, &maxLoc); //找到最佳匹配点
//rectangle(src, cv::Rect(minLoc.x, minLoc.y, templ.cols, templ.rows), 2, 8, 0); //在原图上框出来
corp_result = src(cv::Rect(minLoc.x, minLoc.y, templ.cols, templ.rows));
return corp_result;
}
int main() {
//模板匹配
cv::Mat src = imread("1.bmp", 1); // 待匹配的图片,原图
cv::Mat templ = imread("2.bmp", 1);// 模板图
cv::Mat corp_result = Template_matching(src, templ);
imwrite("F:/123.bmp", corp_result);
}
下一篇: FORALL和BULK COLLECT
推荐阅读
-
相机标定示例(OpenCV /C++ /matlab工具箱TOOLBOX_calib)
-
OPENCV_PYTHON官方文档学习_38. 特征匹配
-
OpenCV学习笔记(18)双目测距与三维重建的OpenCV实现问题集锦(三)立体匹配与视差计算
-
OpenCV 模板匹配去重
-
【基于C++和Python的Opencv3学习笔记之基本图形的绘制】
-
c/c++ 类模板初探
-
opencv 物体形状匹配
-
Java利用MessageFormat实现短信模板的匹配
-
【C++实现python字符串函数库】二:字符串匹配函数startswith与endswith
-
Java利用MessageFormat实现短信模板的匹配