【问题标题】:Turn a MATLAB plot into image将 MATLAB 绘图转换为图像
【发布时间】:2010-12-27 07:37:32
【问题描述】:

我已经生成了一个类似的情节

figure; hold;
axis([0 10 0 10]);
fill([ 1 1 5 5], [5 1 1 5],'b')

现在我想把这个图作为一个矩阵,这样我就可以用高斯过滤博客。谷歌搜索我在 MATLAB Central 找到了这个线程 Rasterizing Plot to Image。我试过了,但我只能让它用于线图或函数图。

你有什么想法吗?

【问题讨论】:

  • 我知道,我做的例子太简单/琐碎了。但是有了我标记的答案,人们甚至可以轻松地栅格化任意图。

标签: matlab filtering plot rasterizing


【解决方案1】:

您的目标矩阵的期望特征是什么?你想栅格化什么样的图像?

你看,对于你给我们的唯一例子,定义一个代表你的图像的矩阵几乎是微不足道的......

1. figmat = ones(10,10,3) % create a 10x10 raster where each entry is a triple for RGB, setting them all to 1 colours the whole raster white
2. figmat(2:5,2:5,1:2) = 0 % sets RG components in the coloured area to 0, leaving only blue

您的矩阵是一开始的栅格。现在,您可以使用内置函数 image 来可视化您的矩阵。查看该功能的文档。请注意,我的建议不符合 image() 和 colormap() 的使用规范。

【讨论】:

    【解决方案2】:

    您可以使用 GETFRAME 函数。它返回电影帧结构,实际上是光栅化的图形。字段 cdata 将包含您的矩阵。

    F=getframe;
    figure(2)
    imagesc(F.cdata);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      • 2013-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多