假设我有如下图片:
比较两张图片之间的相似性我有什么选择?显然它们是相同的图像,只是亮度不同。我找不到任何合理的方法,目前我最好的选择是训练 cnn 或自动编码器并比较输出的特征向量,但这似乎有点矫枉过正。任何提示将不胜感激。
最佳答案
非常强大的工作解决方案(我测试过)是检查像素之间亮度符号变化的相关性。
即假设图像 A 和 B,循环大量像素:
IF (
(brightness of pixel 1 from A IS LARGER than brightness of pixel 2 from A)
AND
(brightness of pixel 1 from B IS LARGER than brightness of pixel 2 from B)
) {
COUNTER++;
}
反之亦然。 COUNTER 越高,图像越相似。
重要提示:我在(区域间)按比例缩小的图像上测试了该方法,而不是全尺寸图像,因为全尺寸图像可能包含一些压缩伪影。我的直觉表明它无论如何都适用于全尺寸图像,只是阈值不同。如果不是,按区域调整大小以保持良好的平均亮度值(类似于 OpenCV 中的 INTER_AREA),它会达到目的。
相关思路可见image comparison algorithm .
关于python - 查找具有不同强度/亮度的相似图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62704531/