Opencv比较图像

Opencv comparing Images

本文关键字:图像 比较 Opencv      更新时间:2023-10-16

我是OPENCV的新手,我正在尝试比较两张图像,所以我在两张Mat图像上使用了absdiff功能,但这种比较很容易受到照明发光的影响,你能给我一些更稳健的建议吗?

有很多方法可以比较两张图像,最佳方法实际上取决于您想要的准确性和应用程序。

一种可能适用于您的方法是在获取图像差异之前使用直方图均衡。直方图均衡可以使场景的强度更加均匀,对于许多应用程序来说,可以最大限度地减少照明对场景的影响。在OpenCV中,这可以通过以下功能完成:

cv::equalizeHist(src, dst);

更复杂的方法包括使用特征检测器,然后进行特征匹配。一个简单的方法OpenCV提供如果FLANN。本质上,它识别图像中易于识别的区域(即角),并在另一张图像中寻找图案。

您可以使用两张图像中匹配的特征来计算两张图像之间的转换,如旋转、缩放、倾斜等。然后,您可以使用特征的存在及其在两张图像间移动的距离来计算相似性得分。

这是一个更复杂的方法,它在OpenCV文档中有完整的文档,如果你愿意的话,我可以在这里深入了解。

文档:http://docs.opencv.org/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.html#feature-flann匹配器