Why is the lenna image rotated?

3 ビュー (過去 30 日間)
niniki
niniki 2022 年 2 月 22 日
コメント済み: niniki 2022 年 2 月 23 日
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, [])
  1 件のコメント
niniki
niniki 2022 年 2 月 23 日
thank you!!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeImages についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by