c# - 使用模板匹配时获取匹配百分比值

标签 c# c++ opencv image-processing emgucv

我是图像处理的新手,在我的应用程序中我使用模板匹配检测眼睛虹膜,所以我串起一个标准虹膜并执行模板匹配,代码如下

CvInvoke.cvMatchTemplate(grayframeright_1.Ptr, templateimagegray.Ptr, templateimagesults.Ptr, TM_TYPE.CV_TM_CCORR_NORMED);

templateimagesults.MinMax(out min, out max, out Min_Loc, out MAX_Loc);

                            Location = new Point((MAX_Loc[0].X), (MAX_Loc[0].Y));

问题是有时我会得到误报,为了消除误报,我计划计算/获取匹配百分比值并使用适当的 if 条件。

1)那么emgucv/opencv中有没有函数可以得到匹配的百分比值呢? 例如 - 50% 、 80% 等

2)还有其他方法可以消除误报吗?

请帮我解决这个问题。

提前致谢

最佳答案

  1. 它认为templateimagesults.Ptr中respected location的值就是你想要的匹配百分比,它是模板与窗口图像在特定位置的相似度值。引用:http://docs.opencv.org/modules/imgproc/doc/object_detection.html

  2. 减少误报和提高召回率在这些工作中总是平衡的,你不应该只关注减少误报。也许你可以尝试使用标准机器学习框架进行对象检测

关于c# - 使用模板匹配时获取匹配百分比值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21665029/

相关文章:

c# - WPF 当子级的宽度绑定(bind)到父级的实际宽度时会发生什么

javascript - 使用 Web API 在 CRM 中添加新记录

c++ - 乘法的顺序

c++ - 全景影像构建

c++ - 这个 OpenCV 矩阵表达式的含义是什么?

C# Mono - 低级键盘钩子(Hook)

c# - 尝试将 xml 导入 android 时出现 OutOfMemoryException

c++ - 如何显示星号(*)而不是密码 c++ 的纯文本

c++ - 这是类模板的全部或部分特化吗?

python - 如何在Python中使用second作为透明二进制掩码合并两个图像?