How can I generate an image from a matrix?

조회 수: 2 (최근 30일)
Cesar
Cesar 2013년 2월 2일
The image would be 3 x 3 with the colors as shown below. The other can stay white.
Red Yellow
Green
Green Blue
  댓글 수: 2
Jan
Jan 2013년 2월 2일
Deleted questions are annoying.
Randy Souza
Randy Souza 2013년 2월 12일
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.

댓글을 달려면 로그인하십시오.

채택된 답변

Walter Roberson
Walter Roberson 2013년 2월 2일
편집: Walter Roberson 2013년 2월 2일
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
Cesar
Cesar 2013년 2월 2일
편집: Walter Roberson 2013년 2월 2일
Did not work. I continue on as shown below. The image is extremely small and the colors did not come out right. See below:
EDU>> Red = [255 0 0];
EDU>> Yellow = [0 255 255];
EDU>> Green = [0 0 255];
EDU>> Blue = [0 255 0];
EDU>> Im = uint8(255) * ones(3,3,3,'uint8');
EDU>> Im(1,1,:) = Red;
EDU>> Im(1,3,:) = Yellow;
EDU>> Im(2,2,:) = Green;
EDU>> Im(1,3,:) = Green;
EDU>> Im(3,3,:) = Blue;
EDU>> figure, imshow(Im)
EDU>> imshow(Im)
EDU>> figure, imshow(Im)
Walter Roberson
Walter Roberson 2013년 2월 2일
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.

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Youssef  Khmou
Youssef Khmou 2013년 2월 2일
Hi, add the property 'notruesize' to imshow function :
imshow(Im,'notruesize');
  댓글 수: 3
Youssef  Khmou
Youssef Khmou 2013년 2월 2일
I have no idea about the 255,0 arrangement for RGB, verify that repartition you gave,
Youssef  Khmou
Youssef Khmou 2013년 2월 2일
i am trying to write a function for that purpose, i think you gave wrong colors .

댓글을 달려면 로그인하십시오.


Youssef  Khmou
Youssef Khmou 2013년 2월 2일
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
Youssef  Khmou
Youssef Khmou 2013년 2월 2일
what's the prob here?
Walter Roberson
Walter Roberson 2013년 2월 2일
A bit too much help given on a homework problem.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Geometric Transformation and Image Registration에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by