有没有什么工具可以显示图像之间实质性变化的“差异”?

问题描述 投票:0回答:4

我正在尝试找出一种方法,通过比较年度卫星图像来更快速地确定新建筑的位置。

在 Google 地球中,无论出于何种原因,您都可以回滚卫星图像上的时钟,并确定这些年来发生了什么变化。有趣的一件事是您可以确定新的建筑。目前,我正在手动执行此操作,速度非常慢。

我知道卫星照片可能会因天气、照片曝光变化、季节变化等因素而有很大差异,所以我的计划是在卫星照片上运行一些 Photoshop 滤镜来尝试标准化图像,然后运行某种“差异”过程来突出显示发生变化的地方。

这是两张卫星照片的示例,第一张拍摄于 2013 年 5 月,另一张拍摄于 2015 年 1 月。

May 2013

January 2015

如果我可以运行一些流程来突出显示发生巨大变化的区域,那么在这种情况下,新房子就很容易识别,那就太好了。也许输出在最近的(2015)照片上看起来像这样......

sketch of desired output

好吧,显然它看起来不会像那样,但我认为最后一张图片概述了我在这里的目的。

谢谢

image image-processing diff
4个回答
8
投票

查看git-diff-image。 “git diff”的扩展,提供对差异图像的支持。它还可以作为直接 CLI 命令运行,用于比较两个图像文件。

enter image description here


7
投票

不幸的是,您拥有的两张图像的光照有很大不同。在 2013 年 5 月的图像中,时间接近中午,太阳直射头顶,这意味着没有阴影 - 因此,当时矗立的房屋与周围的地面几乎没有区别。在 2015 年 1 月的图像中,光照来自图像底部,阴影很刺眼。因此,您所做的任何差异都不会检测到房屋数量的变化,而是照明的变化将占主导地位。

flicker_compare
网站上有一个名为
ImageMagick
的工具,可以在图像之间快速滑动,可以帮助您手动进行区分。我是这样使用的:

flicker_cmp -d 100 -o animated.gif jan2015.jpg may2013.jpg

enter image description here

抱歉,我没有其他建议。


1
投票

是的,这样的工具是可用的。例如,您可以使用 ImageMagick 中的 comparel 方法来比较两个图像。它本身不是一个视觉差异工具,而是一个您可以构建自己的工具的库。它有一系列令人难以置信的选项来突出显示差异。


0
投票

另请注意,如果 git 存储库中的图像被修改,GitHub 在线可以向您显示差异: GitHub image diff, images shown side-by-side

在底部,您可以选择比较图像: Images shown with a vertical slider showing 50% of both images Images shown in

它可能不完全是你想要的,但它也是一个增强的差异。 请参阅此处的现场演示

© www.soinside.com 2019 - 2024. All rights reserved.