Why is the lenna image rotated?

4 次查看(过去 30 天)
Opened lenna.raw file in figure.
By the way, the image is rotated 90 degrees counterclockwise. It was a 256x256 image, and I printed the image using mat2gray.
I'm curious as to why and how the image is spinning.
please help me thank you.
  4 个评论
DGM
DGM 2022-2-22
When you read the image into a rectangular geometry such as in this call:
a = fread(raw,[256,256])
understand that what you're doing is taking the raw data in the file (a vector) and devectorizing it. This is the same as reshaping any other vector.
Consider the example:
myimagevector = 1:25; % pretend this is the image data
myimagematrix = reshape(myimagevector,5,5)
myimagematrix = 5×5
1 6 11 16 21 2 7 12 17 22 3 8 13 18 23 4 9 14 19 24 5 10 15 20 25
The contents of the vector are placed columnwise into the output geometry. If the original data had been written out row-wise, then the result will be transposed -- not rotated.
@yanqi liu is correct. All you likely need to do is transpose the incoming image.
niniki
niniki 2022-2-23
Thanks to your answer, I understood perfectly!!!! ^^b

请先登录,再进行评论。

采纳的回答

yanqi liu
yanqi liu 2022-2-22
yes,sir,may be check
when read it,should use ' to transposition the matrix
fid = fopen('lena256.raw', 'rb');
x = fread(fid, [256, 256], 'uint8=>double').' ;
fclose(fid);
figure; imshow(x, [])

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Images 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by