How to convert matrix into image ?
103 views (last 30 days)
Show older comments
Please tell How to convert matrix into image ?
Is this Code correct :
str ='Hello'
a = double(str)
K = mat2gray(a); # which converts the matrix into image
min_image = min(K(:))
max_image = max(K(:))
figure
imshow(K)
7 Comments
Jan
on 6 Jan 2018
@bavani: It is hard to help you, if you explain only vaguely, what you want. "embed the message in an image??" Maybe a dot is better than two question marks. You got the suggestion to search in the FileExchange, because you find working examples there. Did you do this already? How can we help you, if you do not ask a specific question?
Answers (4)
Walter Roberson
on 4 Jan 2018
imagesc(K)
or
imshow(K, [])
3 Comments
Walter Roberson
on 11 Mar 2020
scaled_K = mat2gray(K);
Or in newer versions of MATLAB,
scaled_K = rescale(K);
Jan
on 4 Jan 2018
Is hard to answer this, because as far as I understand, there is no problem at all. Images are matrices, so what exactly is the problem?
It looks really strange, that your the input data is the converted char vector 'Hello', but of course it is valid. You did not mention, why you obtain the minimal and maximal values, and I cannot guess, how this is useful. You post some code, which looks okay, so do you have any problems with it?
str = 'Hello'
a = double(str);
gray = a / 255;
figure;
imshow(gray, 'InitialMagnification', 'fit')
mina = min(a(:));
maxa = max(a(:));
grayUINT8 = uint8((a - mina) * 255 / (maxa - mina));
figure;
imshow(grayUINT8, 'InitialMagnification', 'fit')
Does this help in any way to display your 1 x 5 pixel image in gray scalar, at first as double and at second as scaled UINT8?
0 Comments
Image Analyst
on 6 Jan 2018
See my demo: https://www.mathworks.com/matlabcentral/fileexchange/54155-encoding-text-into-image-gray-levels It hides text in an image.
If you have coding questions, reply here, not in the File Exchange, but only after you read this link.
0 Comments
Bilal Habib
on 19 Feb 2020
a = imread('Rose-flower.jpg');
subplot(2,3,1);
imshow(a);
c = rgb2gray(a);
subplot(2,3,2);
imshow(c)
% Class Task:
h =[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20];
imshow(h)
i = uint8(h);
imshow(i)
i do not understand that how to get image in using matrix....what is reason...? You can fix code...
1 Comment
Walter Roberson
on 19 Feb 2020
imshow(i) is correct but it will be dark because you only use brightness 20 out of 255. Try
imshow(i, [])
See Also
Categories
Find more on Convert Image Type in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!