#include <opencv2\opencv.hpp>
#include <stdio.h>
int main( int agrc,char* argv[])
{
//templat为目标模板图像,为彩色图像
IplImage* templat = cvLoadImage("1.jpg",1);
//src为被搜索图像,也为彩色图像
IplImage* src = cvLoadImage("2.jpg",1);
cvNamedWindow("src",1);
cvShowImage("src",src);
cvNamedWindow("templat",1);
cvShowImage("templat",templat);
/*因为templat和src均为彩色图像
所以把它们转变为灰度图像,然后再进行二值化
同时要对图像中进行腐蚀,以便提取图像特征*/
//创建腐蚀模板
IplConvKernel* element =0;
int cols=4,rows=4,anchor_x=2,anchor_y=2;
int values[16]={0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0};
element=cvCreateStructuringElementEx(cols,rows,anchor_x,anchor_y,CV_SHAPE_CUSTOM,values);
/*把templat和src转换为灰度图像,再进行二值化*/
IplImage* src_gray = cvCreateImage(cvGetSize(src),8,1); /*创建src_gray灰度图像的空间大小*/
IplImage* templat_gray = cvCreateImage(cvGetSize(templat),8,1); /*创建templat_gray灰度图像的空间大小*
opencv——实现目标模板匹配
最新推荐文章于 2024-09-11 20:05:27 发布
该博客介绍了如何使用OpenCV进行目标模板匹配。首先,将彩色图像转换为灰度图像,接着进行二值化处理并腐蚀操作。然后,对模板图像同样进行灰度和二值化处理,但这次采用膨胀操作。最终,通过模板配对得到结果图像,并在原始图像中标注出匹配区域。
摘要由CSDN通过智能技术生成