可能重复:
OpenCV 匹配模板得分不高
我已经存储了一个视频文件,需要检查每个帧是否与已经预存的图像文件匹配。我使用了 cvQueryFrame,从该 createImage 进行帧到图像的转换,并检查这个图像 X 与预存的图像文件图像 Y 起诉模板匹配。 ..但无法得到想要的结果?应该使用 SURF 或 SIFT 或线检测算法的任何组合?
可能重复:
OpenCV 匹配模板得分不高
我已经存储了一个视频文件,需要检查每个帧是否与已经预存的图像文件匹配。我使用了 cvQueryFrame,从该 createImage 进行帧到图像的转换,并检查这个图像 X 与预存的图像文件图像 Y 起诉模板匹配。 ..但无法得到想要的结果?应该使用 SURF 或 SIFT 或线检测算法的任何组合?
无需创建图像....
IplImage *frame = cvQueryFrame();
将以 IplImage 形式为您提供图像...模板匹配只是关联...它可能不会始终为您提供正确的匹配...如果您在那里使用 OpenCV 2.4.2 那么您可以使用 FREAK、ORB、SIFT、SURF用于将您的预存储图像与您的视频帧相匹配...这里是链接
如果您的“预存”图像是视频的一部分,您可以简单地计算帧和图像之间的差异(例如 cv::norm)。如果您正在寻找与给定查询图像“相似”的图像,那么这是一个非常不同的主题,并且有很多关于这个主题的学术文章。