【发布时间】:2014-05-04 14:50:45
【问题描述】:
我有一张源图片和 5 个其他样本,我想找到与源图像最匹配的样本。我的结论是应该使用模板匹配,因为直方图比较不能很好地解决问题。我使用cv::minMaxLoc 来确定结果矩阵的最小值和最大值,但我误解了如何比较这些值以正确找到“最佳匹配”图片。
谢谢!
PS:我已阅读 OpenCV 文档。
【问题讨论】:
标签: c++ opencv image-processing template-matching
我有一张源图片和 5 个其他样本,我想找到与源图像最匹配的样本。我的结论是应该使用模板匹配,因为直方图比较不能很好地解决问题。我使用cv::minMaxLoc 来确定结果矩阵的最小值和最大值,但我误解了如何比较这些值以正确找到“最佳匹配”图片。
谢谢!
PS:我已阅读 OpenCV 文档。
【问题讨论】:
标签: c++ opencv image-processing template-matching
Here's a tutorial 解释cv::matchTemplate() 的使用。除了最小值和最大值,cv::MinMaxLoc() 返回模板位置的左上角以获得最佳匹配。
请注意,如果您期望超过一个最大值/最小值,那么 cv::MinMaxLoc() 是不够的,因为它只返回一个点。
【讨论】:
cv::MinMaxLoc() 的文档:docs.opencv.org/modules/core/doc/…