matchTemplate找到很好的匹配

时间:2011-12-15 13:31:34

标签: opencv object-detection

您好我使用this回答并编写我自己的程序,但我有特定的问题。如果没有该对象,matchTemplate不会给出错误,我不知道是否有任何方法来检查matchTemplate是否找到该对象,是否有人可以给我建议,或者说我检查它的函数名称。

1 个答案:

答案 0 :(得分:8)

matchTemplate()返回一个矩阵,其值表示对象在该像素中居中的概率。如果您知道对象(并且只有一个对象),那么您所要做的就是查找最大值的位置。

如果您不知道,您必须找到最大值,如果它超过某个阈值,您的对象应该在那里。

现在,选择该阈值非常棘手 - 您可以根据应用找到合适的阈值。当然,你会有一些误报(当没有物体,但最大值大于阈值时),还有一些误报(你的物体不会产生足够大的峰值)

选择阈值的方法是收集一个相当大的图像数据库,包含和不包含您的对象,并统计对象在内部时的峰值有多大,以及在没有对象时有多大,并选择最佳分隔两个类的阈值