Make images into the same dimensions

15 次查看(过去 30 天)
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

采纳的回答

Matt J
Matt J 2014-1-20
编辑:Matt J 2014-1-20
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 个评论
Tony
Tony 2014-1-20
yea its working i was just doing a few things wrong lol was staring at the thing for a while

请先登录,再进行评论。

更多回答(1 个)

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

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by