尝试用OpenCV的模板匹配来定位和检测

本文介绍了OpenCV的模板匹配函数,包括匹配原理和不同匹配方式,如平方差匹配法、相关匹配法等。同时讲解了OpenCV用于定位极值的minMaxLoc函数。还提供了一个示例程序来展示如何应用这些方法。
摘要由CSDN通过智能技术生成

1.OpenCV的模板匹配函数:

CV_EXPORTS_W void matchTemplate( InputArray image, InputArray templ, OutputArray result, int method );

模板匹配的工作方式:
跟直方图的反向投影基本一样,大致过程是这样的:通过在输入图像image上滑动图像块,对实际的图像块和模板图像templ进行匹配。
假设我们有一张100x100的输入图像image,有一张10x10的模板图像templ,查找的过程是这样的:
(1)从输入图像image的左上角(0,0)开始,切割一块(0,0)至(10,10)的临时图像;
(2)用临时图像和模板图像templ进行对比,对比结果记为c,存储在结果图像result的(0,0)处,即result在(0,0)处的像素值;
(3)向右滑动切割图像块,重复(1)~(2)的步骤,并记录到结果图像result中;直到输入图像image的右下角。
可见,直方图反向投影对比的是直方图,而模板匹配对比的是图像的像素值;模板匹配比直方图反向投影速度要快一些,但是有人认为直方图反向投影的鲁棒性会更好。
模板匹配的匹配方式method:
CV_TM_SQDIFF 平方差匹配法:该方法采用平方差来进行匹配;最好的匹配值为0;匹配越差,匹配值越大。
CV_TM_CCORR 相关匹配法:该方法采用乘法操作;数值越大表明匹配程度越好。
CV_TM_CCOEFF 相关系数匹配法:1表示完美的匹配;-1表示最差的匹配。
CV_TM_SQDIFF_NORMED 归一化平方差匹配法
CV_TM_CCORR_NORMED 归一化相关匹配法
CV_TM_CCOEFF_NORMED 归一化相关系数匹配法

enum { TM_SQDIFF=0, TM_SQDIFF_NORMED=1, TM_CCORR=2, TM_CCORR_NORMED=3, TM_CCOEFF=4, TM_CCOEFF_NORMED=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值