Image matrix dimensions flipped compared to original image

1 view (last 30 days)
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
Punnag Chatterjee
Punnag Chatterjee on 4 Dec 2020
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.
Bjorn Gustavsson
Bjorn Gustavsson on 4 Dec 2020
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 Image Processing Toolbox 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!