OpenCV-3.模版匹配
来源:互联网 发布:sql on hadoop 编辑:程序博客网 时间:2024/06/05 12:47
在opencv中,进行模板匹配需要两张图:一张原图,一张要匹配的模板图。
需要解释的都在代码里,下面贴代码:
#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"#include "cv.h"int main(){//原图,以灰度图的方式载入,让事情变得更简单IplImage* imgOriginal = cvLoadImage("22.jpg",0);//需要匹配的模版IplImage* imgTemplate =cvLoadImage("2.jpg",0);//template在横向和纵向两个方向slide(滑动)来与其下方的original img匹配,//所以,你slide的时候不能越界,所以,下面这个相关图才是这个size(要把template的size剪掉再+1)IplImage* imgResult = cvCreateImage( cvSize(imgOriginal->width - imgTemplate->width + 1, imgOriginal->height - imgTemplate->height + 1),IPL_DEPTH_32F,1); //让矩阵的值都为0,有初始化的作用,或者说清零,全0后是黑色的图//correlation map 初始化cvZero(imgResult);//start matchingcvMatchTemplate( imgOriginal, imgTemplate, imgResult, CV_TM_CCORR_NORMED ); //记录最小、最大值变量double min_val=0, max_val=0; //位置CvPoint min_loc, max_loc; //cvMinMaxLoc函数找出图片或一组数据中最大值及最小值的数据,以及最大值及最小值的位置cvMinMaxLoc( imgResult, &min_val, &max_val, &min_loc, &max_loc); //画出矩形//参数2,3是处于对角线上的矩形两顶点//参数4是指明画线的颜色//参数5是指明线条的粗细类型cvRectangle(imgOriginal, max_loc, cvPoint(max_loc.x + imgTemplate->width, max_loc.y + imgTemplate->height),cvScalar(0),2);printf("%f", max_val); cvNamedWindow("result");cvShowImage("result", imgOriginal);cvShowImage("re",imgResult);cvWaitKey(0);return 0; }
原图:
模板图:
1 0
- OpenCV-3.模版匹配
- opencv模版匹配
- 【opencv】邻域模版匹配
- OpenCv学习之一:模版匹配
- opencv 模版匹配matchtemplate方法介绍
- 最简单的目标跟踪--模版匹配opencv
- 模版匹配
- Opencv图像识别从零到精通(32)----直方图对比,模版匹配,方向投影
- 图像算法,模版匹配
- 二分匹配模版
- 字符串匹配模版
- 图像算法,模版匹配
- 二分匹配模版
- 模版匹配应用
- {模版}KMP字符串匹配
- {模版}KMP字符串匹配
- KM匹配 hdu2853(模版
- opencv编程珠玑——Opencv中模版匹配后得到的坐标与原图像坐标的转换问题
- 蓝牙基带 比特流处理
- ajax请求数据,后台提供数据返回json, 前台js拼html,回填
- C++标准转换运算符static_cast
- velocity
- 动态内存分配的大家族
- OpenCV-3.模版匹配
- 985的数学难题
- 10个超棒jQuery表单操作代码片段
- UVA536 Tree Recovery
- android 解决 Popupwindow不能复制粘贴的问题
- Nexus私服搭建
- 动态规划-Dynamic Process
- http协议学习系列(https通信过程)
- opencv之fillpoly