【问题标题】:Applying a vector field to image in matlab在matlab中将矢量场应用于图像
【发布时间】:2016-04-05 17:14:01
【问题描述】:

如何将通过 quiver 获得的矢量场应用于导致像素在矢量方向上发生位移的图像(图像扭曲)?

另外,如果我拥有的矢量场是 3 维的,我该怎么做?把它想象成在 3 维地形上放置一个平面的 2 维图像。我将如何在 matlab 中查看这个?

感谢您的宝贵时间

编辑:我不仅要在 Z 轴上扭曲图像,还要沿 X 和 Y 轴扭曲图像。

【问题讨论】:

    标签: matlab image-processing vector 3d


    【解决方案1】:

    在 3 维地形上放置平面 2 维图像:

    轴的方向不是很清楚,但这是一个映射在 peaks 函数上的小丑图像。 surface 的文档中的“沿曲面图显示图像”示例中描述了确切的步骤。

    load clown
    C = flipud(X);
    figure
    surface(XD,YD,ZD,C,...
        'FaceColor','texturemap',...
        'EdgeColor','none',...
        'CDataMapping','direct')
    colormap(map)
    view(-35,45)
    

    基本上,您可以使用CData 作为要显示的图像来创建表面,并为轴设置适当的颜色图。

    【讨论】:

    • 您为重现该情节而编写的代码会很好。即使它在文档中链接,重现此处发布的情节以进行自我控制的代码也会有所帮助。您发布的链接可能会随着时间而改变。
    • 这允许我沿 Z 轴变形我的图像。但是,我在 X 和 Y 轴上也有变形。我该如何执行它们?
    【解决方案2】:

    使用图像处理工具箱中的imwarp 函数。

    【讨论】:

      猜你喜欢
      • 2020-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多