【问题标题】:How to show the change between two images which are quite similar?如何显示两个非常相似的图像之间的变化?
【发布时间】:2012-02-10 02:50:15
【问题描述】:

我有一个基本图像 (image1),它描绘了时间 t1 空间中的一个量。对于类似的结果,我还有一个时间 t2 的图像 (image2),其中 t2>t1。

以上两个图像是在 Matlab 中使用imagesc 绘制的。我想区分这两个图像,以便它在物理上是直观的。然而,通过这两张图片,肉眼很难看出它们之间的差异。尽管 image1 和 image2 之间的浓度变化很小,但我想找出有什么区别并显示出来,以便解释物理含义。从物理上解释,流体会随着时间向下移动,即随着时间的推移,底部的浓度会增加。

例如,在下图中(尽管上图在物理上并不直观),每条线代表上图中对应图像的整个列值。因此,image1 和 image2 分别有 100 条蓝线和 100 条红线。

但是,我想知道 Matlab 中是否有更好的方法来绘制从 image1 到 image2 的图像差异,从而更好地解释变化的物理意义。谢谢。

【问题讨论】:

  • 这很有趣。是的,你可以在差异上做imagesc,但这并不能给你很好的方向信息,只是一些“这个区域失去了注意力,这个区域获得了”。我很好奇最先进的可视化技术是什么。
  • 这些图像对我来说就像 MATLAB 图形。您是否有权访问创建它们的数据?如果是这样,为什么不直接使用这些数据呢?还是我在这里误解了什么?
  • 你好 kigurai。这些图像确实是在 Matlab 中使用imagesc 绘制的。我想根据我以这两个图形的形式获得的结果来区分这两个图像,这样它在物理上是直观的。但是,通过这两个图像,很难通过肉眼看到两者之间的差异。我希望我很清楚。
  • 是的,既然您拥有制作这些图像的数据,我认为您应该找到一种使用原始数据来获得所需数量的方法,而不是使用最有可能提供的图像处理工具你的结果更糟。
  • @kigurai:这就是我在两张图片之后展示的 Matlab 绘图中尝试的方法,尽管这是一种非常粗糙的绘图方式。基本上通过这个问题,我正在尝试是否已经使用图像的人对如何解决这个问题有所了解。

标签: image matlab physics compare-contrast


【解决方案1】:

我认为你可以通过找到一个合适的阈值来找到“蓝色”和“橙色”之间的边界线。尝试使用graythresh,您的图像符合双模图像的标准。

然后,您可以使用polyfit 或其他基于最小二乘法的方法将物理模型拟合到边界曲线(例如 y = ax^3+bx^2+cx+d)方法。

一旦你有合适的,只需将它们显示为 2 个地块,一个在另一个地块之上。 (你可以使用hold on)。

如果需要更多说明,请告诉我。

【讨论】:

  • "然后,您可以使用 polyfit 或其他基于最小二乘法的方法将物理模型拟合到边界曲线(例如 y = ax^3+bx^2+cx+d)方法。” 我该怎么做?我只有完整图形的数据,但除了视觉形式外,我没有明确知道边界曲线。
【解决方案2】:

这就是我所做的:

imagesc([1 100],[1 20],image2>image1)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-20
    • 2020-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-04
    • 2023-04-03
    • 2014-05-18
    相关资源
    最近更新 更多