Make images into the same dimensions

15 visualizzazioni (ultimi 30 giorni)
Tony
Tony il 20 Gen 2014
Commentato: Image Analyst il 2 Ago 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

Risposta accettata

Matt J
Matt J il 20 Gen 2014
Modificato: Matt J il 20 Gen 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 Commento
Tony
Tony il 20 Gen 2014
yea its working i was just doing a few things wrong lol was staring at the thing for a while

Accedi per commentare.

Più risposte (1)

Image Analyst
Image Analyst il 20 Gen 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 Commenti
Diah Junaidi
Diah Junaidi il 1 Ago 2019
Got this error sir:
Undefined function or variable 'mostRows'.
Error in hitungRMSE (line 21)
if rows > mostRows
Image Analyst
Image Analyst il 2 Ago 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.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by