Opencv比较图像
Opencv comparing Images
我是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匹配器
相关文章:
- Base64 图像比较
- 比较BGR图像是否完全相同
- 如何使用mingw64 gcc/g 比较两个图像
- 如何比较QT中的两个RGB图像
- TBB免费图像lambda阵列比较错误
- 访问图像像素;MatIterator_<> 和 Mat::at 运算符的比较
- MPI BMP 图像比较更高效
- C++图像比较每个块中的平均位数
- Opencv比较图像
- OpenCV检测手部和比较图像
- OpenCV代码将存储在列表中的描述符与新的图像描述符进行比较
- 如何在 opencv 中将图像与数据库进行比较C++
- 使用直方图比较 c++ 匹配图像
- OpenCV图像调整大小与matlab的比较
- 使用C++和OpenCV进行图像比较的方法
- C# 中的 pHash 图像比较实现
- 使用来自poitr的OPENCV代码进行图像比较
- 使用c++或python进行图像比较
- 适应度函数对图像比较的开放,遗传编程
- 如何在qt中创建一个图像比较器?