5

我已经生成了一个像

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

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

你有什么想法?

4

2 回答 2

8

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

F=getframe;
figure(2)
imagesc(F.cdata);
于 2009-12-17T05:21:02.050 回答
0

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

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

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() 一起使用的规范。

于 2009-12-16T17:48:22.297 回答