1) Suppose i have a (8x8) matrix and i want this matrix to be converted into image (as shown in below image).
Note that each row of the matrix correspond to the each row of color in the image.
2) Also if i have R,G,B matrix, then how can i create the image (as shown in below image)

댓글 수: 10

Jason Moore
Jason Moore 2015년 2월 11일
Is the imwrite function what you are looking for? imwrite has the ability to take a file name argument and a matrix for your RGB colors and write them to the file format of your choosing.
Nikhil Chourasia
Nikhil Chourasia 2015년 2월 13일
편집: Nikhil Chourasia 2015년 3월 2일
Great Sir, its working. But i have to divide all my matrix value by 255. After that when i used imwrite function it create image in the shades of black only (as seen in below image)
I tried changing my matrix value but it does'nt make much difference. What i need is to create image equivalent to R,G,B code.
Nikhil, for #1, can you give us the 8 by 8 matrix . I'm not clear how a 8 by 8 matrix (64 elements) can go into a much larger image that has colors and gray frames. Where are you getting the colors from? And what does the 8 by 8 matrix have to do at all with the output image? And how thick are the gray stripes, and how big do you want the overall image to be?
For #2, there is no " image below ". Please edit your post to insert it, just like you did with the image for #1 - by using the green and brown frame icon.
Nikhil, it's not clear what your edit was. What did you change?
Nikhil Chourasia
Nikhil Chourasia 2015년 3월 2일
편집: Nikhil Chourasia 2015년 3월 3일
Actually Sir my 8x8 matrix is generating very small image (approx. 400 bytes size ). The above image is for 10x10 matrix which is also approx. 400 bytes.
Sir I have only reinserted image For#2.
Nikhil Chourasia
Nikhil Chourasia 2015년 3월 3일
편집: Nikhil Chourasia 2015년 3월 4일
I again try to put my question in more clear way.
I want to create an image equivalent to a no. so that i can use that image as a code (as a watermark). For example my input no. is [0 1 2 3 4 5 6 7 8 9] and i want to create image equivalent to this no. in the form of RGB color. I am using 'repmat' to replicate my input no. to form a bigger matrix.
HEM RAJ
HEM RAJ 2015년 3월 4일
편집: HEM RAJ 2015년 3월 4일
U cannot obtain RGB image untill your matrix is 3 dimensional. First create a Three dimensional matrix I with (8,8,3) dimensions . where I(:,:,1) corresponds to red channel. means according to image shown u need for the I(1,:,1) higher values as compared to the values in I(1,:,2)and I(1,:,3). for second row I(2,:,2) should be greater then blue and red components. For third row blue values should be higher it means I(3,:,3) should have higher values than I(3,:,1) and I(3,:,2).
Nikhil Chourasia
Nikhil Chourasia 2015년 3월 8일
편집: Nikhil Chourasia 2015년 3월 8일
HEMRAJ thanks for your help. I am able to create image. But the image is too small and only a single strip . I want to create strips of color equivalent to my input no. Below is my code which i used.
Matrix1 =[0 0 0]
Matrix2 =[1 1 1]
Matrix3 =[0 0 0]
[m,n]=size(Matrix1);
my_image=[m,n,3];
my_image(:,:,1)=Matrix1;
my_image(:,:,2)=Matrix2;
my_image(:,:,3)=Matrix3;
imshow(my_image);
Please suggest how i can create image like this
Please note color may vary this is only example of image
Thank U all for your help. I am now able to create image using RGB values. But how can i directly give input of R,G,B values in uint8 instead of double.

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

 채택된 답변

Eduardo Márquez
Eduardo Márquez 2015년 2월 13일
편집: Eduardo Márquez 2015년 2월 13일

1 개 추천

Using:
imwrite(A,'Image.jpg')
where A is a matrix 3D, A(:,:,1) = Red channel, A(:,:,2) = Green Channel, A(:,:,3) = Blue Channel;

댓글 수: 1

Thank U Eduardo Márquez for your help. I am now able to create image using RGB values. But how can i directly give input of R,G,B values in uint8 instead of double.

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Images에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by