How can I generate an image from a matrix?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
The image would be 3 x 3 with the colors as shown below. The other can stay white.
Red Yellow
Green
Green Blue
2 comentarios
Randy Souza
el 12 de Feb. de 2013
I have restored the original text of this question.
Cesar, this question has a clear subject and an accepted answer, so it may be valuable to someone else in the future. If you have a good reason why it should be removed from MATLAB Answers, please flag the question, explain why it should be deleted, and an administrator or high-reputation contributor will consider deleting the question. Please do not simply edit your question away.
Respuesta aceptada
Walter Roberson
el 2 de Feb. de 2013
Editada: Walter Roberson
el 2 de Feb. de 2013
Red = [255 0 0];
Yellow = [0 255 255];
Green = [0 0 255];
Blue = [0 255 0];
Im = uint8(255) * ones(3,3,3,'uint8');
Im(1,1,:) = Red;
Im(1,3,:) = Yellow;
and so on.
2 comentarios
Walter Roberson
el 2 de Feb. de 2013
Of course the image is extremely small. You asked for a 3x3 image. 3 pixels by 3 pixels.
I should have used [255 255 0] for yellow.
Más respuestas (2)
Youssef Khmou
el 2 de Feb. de 2013
Hi, add the property 'notruesize' to imshow function :
imshow(Im,'notruesize');
3 comentarios
Youssef Khmou
el 2 de Feb. de 2013
I have no idea about the 255,0 arrangement for RGB, verify that repartition you gave,
Youssef Khmou
el 2 de Feb. de 2013
i am trying to write a function for that purpose, i think you gave wrong colors .
Youssef Khmou
el 2 de Feb. de 2013
Here is your solution :
Red = [255 0 0];
Yellow = [255 255 0];
Green = [0 0 255];
Blue = [0 255 0];
Im = uint8(255) * ones(3,3,3,'uint8');
Im(1,1,:) = Red;
Im(1,3,:) = Yellow;
Im(2,2,:)=Blue;
Im(3,1,:)=Blue;
Im(3,3,:)=Green;
window=ones(100,100,'uint8');
RED=kron(Im(:,:,1),window);
GREEN=kron(Im(:,:,2),window);
BLUE=kron(Im(:,:,3),window);
FINAL=ones(300,300,3,'uint8');
FINAL(:,:,1)=RED;
FINAL(:,:,2)=GREEN;
FINAL(:,:,3)=BLUE;
figure, imshow(FINAL)
This a clever way to multiply 3x3x3 to get 300x300x3 .
4 comentarios
Ver también
Categorías
Más información sobre Image Processing Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!