首页 > 解决方案 > 我如何判断两张照片是否相同但有一些亮度差异

问题描述

我有一些照片对,其中一些对象的细节不同,而另一些则相同。然而,即使是具有相同物体的照片对,尽管物体的结构和细节是相同的,但在光照或照片质量上也会存在一些差异(由于相机状态不稳定)。

我需要将具有相同对象的对象与具有更改对象的对象区分开来,并且不受光线条件或相机质量的影响。我怎么能这样做?

========

编辑:这是一对具有相同对象的:

在此处输入图像描述 在此处输入图像描述

这是一对具有不同细节的对象:

在此处输入图像描述 在此处输入图像描述

即使是第一对也会在光照条件或其他非内容差异方面存在差异,但预计这些不会影响我的结果。请问我该怎么做?

标签: algorithmopencvimage-processingcomputer-vision

解决方案


您可以使用全局 Lucas-Kanade 算法(原论文“Lucas-Kanade 20 Years On: A Unifying Framework”)来匹配没有特征的图像。Richard Szeliski 说它是参数化(全局)运动。它返回变换矩阵 A:移位、缩放、仿射或单应性。这个矩阵中的一些值表示图片不相同:

Scale: A[0][0] != 1 or A[1][1] != 1
Shift horizontal and vertical: A[0][2] != 0 and A[1][2] != 0
Rotation: A[0][1] != 0 and A[1][0] != 0

它们是算法的几种实现方式——例如。补充:opencv_contrib 具有相同功能的reg 模块。


推荐阅读