Make images into the same dimensions

13 views (last 30 days)
Tony
Tony on 20 Jan 2014
Commented: Image Analyst on 2 Aug 2019
hello, So i am having trouble making images the same dimensions. I have a library of images and i need help accomplishing this.
i would like to search for the image with the biggest dimensions then have the other images form to that.
i tried useing
imresize(img(i),[376 292], 'bilinear')
just using a base row col but not all of them became the same

Accepted Answer

Matt J
Matt J on 20 Jan 2014
Edited: Matt J on 20 Jan 2014
Should have worked, as long as you're not really using img(i) (a scalar) to index your images. I assume you mean img{i}, if holding them in a cell array, or something along those lines.
  1 Comment
Tony
Tony on 20 Jan 2014
yea its working i was just doing a few things wrong lol was staring at the thing for a while

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 20 Jan 2014
Inside the loop you just check the size of each image
[rows, columns, numberOfColorChannels] = size(theImage);
if rows > mostRows
mostRows = rows;
end
if columns > mostColumns
mostColumns = columns
end
Then do the loop again but call imresize() inside the loop
theImage = imresize(theImage, [mostRows, mostColumns]);
You can save it with the new size if you want, or just process it in the loop with whatever operations you want to do on it.
  2 Comments
Diah Junaidi
Diah Junaidi on 1 Aug 2019
Got this error sir:
Undefined function or variable 'mostRows'.
Error in hitungRMSE (line 21)
if rows > mostRows
Image Analyst
Image Analyst on 2 Aug 2019
You should know the max number of rows that your images have. So just assign that variable to that number. You can find out in many ways, such as with a MATLAB script, or simply by looking at your images in File Explorer and see what it says the sizes are.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!