将MATLAB绘图转换为图像

将MATLAB绘图转换为图像,matlab,filtering,plot,rasterizing,Matlab,Filtering,Plot,Rasterizing,我已经生成了一个类似于 figure; hold; axis([0 10 0 10]); fill([ 1 1 5 5], [5 1 1 5],'b') 现在我想把这个图作为一个矩阵,这样我就可以用高斯函数过滤博客了。通过谷歌搜索,我在MATLAB Central找到了这条线索。我试过了,但我只能让它用于直线或函数图 你有什么想法吗?你的目标矩阵的期望特征是什么?你想光栅化什么样的图像 你看,对于你给我们的唯一一个例子,定义一个表示你的图像的矩阵几乎是微不足道的 1. figmat = one

我已经生成了一个类似于

figure; hold;
axis([0 10 0 10]);
fill([ 1 1 5 5], [5 1 1 5],'b')
现在我想把这个图作为一个矩阵,这样我就可以用高斯函数过滤博客了。通过谷歌搜索,我在MATLAB Central找到了这条线索。我试过了,但我只能让它用于直线或函数图


你有什么想法吗?

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

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

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

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

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

我知道,我把这个例子说得太简单了。但有了我标记的答案,即使是任意的情节也可以很容易地光栅化。