Image matrix dimensions flipped compared to original image

img1 = rgb2gray(imread('Image1.png'));
size(img1)
ans =
384 512
When I apply this command to load the image the matrix 384x512. However, the original png image has 512x384 pixels. What am I missing here that the image matrix in MATLAB looked flipped. I was expecting MATLAB to create a 512x384 matrix.

 Accepted Answer

Ameer Hamza
Ameer Hamza on 4 Dec 2020
Edited: Ameer Hamza on 4 Dec 2020
Commonly image resolution is expressed as width x height. However, in MATLAB the size() returns "number of rows (height)" x "number of columns (width)". However, it should not look flipped due to this. imshow() should show the same image as shown outside MATLAB.

2 Comments

Yes, when I use imshow it does show the image correctly, the problem occurs when I am indexing the individual matrix elements for some image operations.
Then you'll have to "learn to accept" the matlab-indexing-notation/convention:
I_xy = Img(row_idx_y,col_idx_x);

Sign in to comment.

More Answers (0)

Categories

Find more on Convert Image Type in Help Center and File Exchange

Products

Release

R2020a

Community Treasure Hunt

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

Start Hunting!