2016-08-01 34 views
0

我想用MATLAB创建位图。在代码中可以看到,在一个非常特定的位置显示带有红色矩形的白色图像。事实上,我得到了红色的矩形,但我没有找到如何获得矩形外的白色。如何使用matlab从矩阵创建位图

x=0:9; 
y=0:17; 
matrice=zeros(17,9,'uint8'); 
for i =1 :length(x) 
    for j= 1 :length(y) 
     if (i>=3) && (i<=6)&&(j>=2) &&(j<=16) 
      matrice(j,i)=56; 
     else matrice (j,i)=248; 
     end 
    end 
end 
+0

http://www.mathworks.com/help/matlab/ref/imwrite.html – Dan

+0

你用什么函数来绘制它? 'image'? 'imagesc'? – EBH

回答

0

你的代码似乎缺少了很多东西。请仔细检查您是否复制了正确的内容。

做你想要会是这样的东西的一个非常快速的方式:

% create matrix 
matrice=zeros(17,9); 
matrice(2:16,3:6)=1; 

% Plot matrix 
imagesc(matrice) 

% Color matrix 
colormap([1 1 1; 1 0 0]) 

% Fix axis 
axis square 

功能imagesc将创造一个矩阵的每个索引由像素显示的图像。数据被缩放以适应当前色彩映射,因此通过将当前色彩映射设置为白色和红色,只有您获得具有白色背景的红色矩形。