我已经生成了一个像
figure; hold;
axis([0 10 0 10]);
fill([ 1 1 5 5], [5 1 1 5],'b')
现在我想把这个图作为一个矩阵,这样我就可以用高斯过滤博客。谷歌搜索我在 MATLAB Central 找到了这个线程Rasterizing Plot to Image。我试过了,但我只能让它用于线图或函数图。
你有什么想法?
我已经生成了一个像
figure; hold;
axis([0 10 0 10]);
fill([ 1 1 5 5], [5 1 1 5],'b')
现在我想把这个图作为一个矩阵,这样我就可以用高斯过滤博客。谷歌搜索我在 MATLAB Central 找到了这个线程Rasterizing Plot to Image。我试过了,但我只能让它用于线图或函数图。
你有什么想法?
您可以使用 GETFRAME 函数。它返回电影帧结构,实际上是光栅化的图形。字段 cdata 将包含您的矩阵。
F=getframe;
figure(2)
imagesc(F.cdata);
您的目标矩阵的期望特性是什么?你想光栅化什么样的图像?
你看,对于你给我们的唯一例子,定义一个代表你的图像的矩阵几乎是微不足道的......
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() 一起使用的规范。