2016-08-01 20 views
0

Ich möchte eine Bitmap mit MATLAB erstellen. Es ist nur ein weißes Bild mit einem roten Rechteck an einem ganz bestimmten Ort, wie Sie im Code sehen können. In der Tat bekomme ich das rote Rechteck, aber ich habe nicht herausgefunden, wie man die weiße Farbe außerhalb des Rechtecks ​​erhält.Wie erstelle ich eine Bitmap aus einer Matrix mit 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

Welche Funktion verwenden Sie, um dies zu zeichnen? Bild? 'imagesc'? – EBH

Antwort

0

Ihr Code scheint eine Menge Zeug zu fehlen. Bitte überprüfen Sie, ob Sie alles korrekt kopiert haben.

Eine sehr schnelle Art und Weise zu tun, was du so würde sein wollen:

% 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 

Die Funktion imagesc wird ein Bild schaffen, in dem jeder Index der Matrix durch ein Pixel dargestellt wird. Die Daten werden so skaliert, dass sie in die aktuelle Farbtabelle passen. Wenn Sie die aktuelle Farbtabelle also nur auf weiß und rot setzen, erhalten Sie Ihr rotes Rechteck mit weißem Hintergrund.

Verwandte Themen