我是图像处理的新手,在我的应用程序中我使用模板匹配检测眼睛虹膜,所以我串起一个标准虹膜并执行模板匹配,代码如下
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)还有其他方法可以消除误报吗?
请帮我解决这个问题。
提前致谢
最佳答案
它认为templateimagesults.Ptr中respected location的值就是你想要的匹配百分比,它是模板与窗口图像在特定位置的相似度值。引用:http://docs.opencv.org/modules/imgproc/doc/object_detection.html
减少误报和提高召回率在这些工作中总是平衡的,你不应该只关注减少误报。也许你可以尝试使用标准机器学习框架进行对象检测
关于c# - 使用模板匹配时获取匹配百分比值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21665029/