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)

Products

Release

R2020a

Community Treasure Hunt

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

Start Hunting!