How to convert single column RGB matrix to image
5 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Rik
2018 年 8 月 18 日
編集済み: Rik
2018 年 8 月 18 日
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 件のコメント
Rik
2018 年 8 月 18 日
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);
その他の回答 (1 件)
Image Analyst
2018 年 8 月 18 日
Try
axis('on', 'image');
5 件のコメント
Rik
2019 年 1 月 22 日
Have a read here (or here for more general advice). It will greatly improve your chances of getting an answer.
Image Analyst
2019 年 1 月 24 日
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
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!