OpenCV中文网站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 安装 配置
查看: 316|回复: 2

matchtemplate做图片匹配之后 怎么判断精确度

[复制链接]
发表于 2019-3-6 16:41:12 | 显示全部楼层 |阅读模式
新人刚学习,开始做图片匹配 可以找到 但是假如源图片里面没有模板图片的话 就会找到很多不准确的结果, 请问有没有办法精确呢?   
跪求指点。
回复

使用道具 举报

发表于 2019-3-7 17:36:22 | 显示全部楼层
//matchTemplate匹配有五六种方式,如果采用CV_TM_SQDIFF_NORMED方式,下面是我之前写的一部分代码,你可以参考下。

matchTemplate(srcImage,templateImage,result,CV_TM_SQDIFF_NORMED);   //最好匹配为0,值越大匹配越差

    double minVal = -1;
    double maxVal;
    Point minLoc;
    Point maxLoc;
    Point matchLoc;
    minMaxLoc(result, &minVal, &maxVal, &minLoc, &maxLoc, Mat());

    //取小值,这个大概是模板的起点坐标
    matchLoc = minLoc;

    //取小值,值越小表示越匹配,(1 - minVal)表示的就是相似度,范围是0-1,你可以设置这个值来控制精确度
    QString str = "Similarity:" + QString::number((1 - minVal) * 100, 'f', 2) + "%";

其它方式的话,具体看用什么方式,根据情况,取最大值还是最小值。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-14 15:32:11 | 显示全部楼层
dyyc 发表于 2019-3-7 17:36
//matchTemplate匹配有五六种方式,如果采用CV_TM_SQDIFF_NORMED方式,下面是我之前写的一部分代码,你可以 ...

先谢谢了  我去试试
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OpenCV中文网站  

GMT+8, 2019-5-20 02:36 , Processed in 0.024307 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表