How to convert single column RGB matrix to image
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Mahesh Gunturu
am 18 Aug. 2018
Kommentiert: Image Analyst
am 24 Jan. 2019
I have a matrix of RGB values as shown below, and entire .txt file is also attached
pixels = [129 108 61;
117 96 51;
102 77 36;
94 64 26;
97 59 22; ]
I want to convert this into an image, and I tried like below but it gives 90 degrees rotated image:
new_img = uint8(pixels);
new_img = reshape(new_img, 407, 516, 3);
I have tried like below based on the one of the answer
pixels = load("hw4-image.txt");
new_img = uint8(pixels);
new_img = reshape(new_img, 407, 516, 3);
new_img = permute(new_img(end:-1:1,:,:),[2 1 3]);
image(new_img);
expected image is:
But I got
0 Kommentare
Akzeptierte Antwort
Rik
am 18 Aug. 2018
Bearbeitet: Rik
am 18 Aug. 2018
If your code works, but you need a 90 degree rotation (clockwise), you can use the anonymous function below:
rot90CW=@(IM) permute(IM(end:-1:1,:,:),[2 1 3]);
pixels = load("hw4-image.txt");
new_img = uint8(pixels);
new_img = reshape(new_img, 407, 516, 3);
new_img = rot90CW(new_img);
new_img = fliplr(new_img);
image(new_img);
daspect([1 1 1])
4 Kommentare
Rik
am 18 Aug. 2018
The fliplr function is base Matlab, so you can use that:
pixels = load("hw4-image.txt");
new_img = uint8(pixels);
new_img = reshape(new_img, 407, 516, 3);
new_img = permute(new_img(end:-1:1,:,:),[2 1 3]);
new_img = fliplr(new_img);
image(new_img);
Weitere Antworten (1)
Image Analyst
am 18 Aug. 2018
Try
axis('on', 'image');
5 Kommentare
Rik
am 22 Jan. 2019
Have a read here (or here for more general advice). It will greatly improve your chances of getting an answer.
Image Analyst
am 24 Jan. 2019
Go ahead and ask it in a new question after you read the links that Rik gave you.
Or you can ask the face recognition guy at the Mathworks: Brett Shoelson, and his face recognition app
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!