padarray for resizing canvas of images

2 views (last 30 days)
dan kin
dan kin on 18 Oct 2014
Commented: Image Analyst on 18 Oct 2014
Hi,
I have multiply PNG images in one folder with different images sizes (height and width), how can I use the padarray function so they will have the same canvas size (according to the bigger image) without resizing them?
Thanks a lot

Answers (1)

Image Analyst
Image Analyst on 18 Oct 2014
Not hard. Just get the sizes of both, get the max, and figure out what to pass to padarray()
[rows1, columns1, numberOfColorChannels1] = size(image1);
[rows2, columns2, numberOfColorChannels2] = size(image2);
maxRows = max(rows1, rows2);
maxColumns = max(columns1, columns2);
and so on...
  2 Comments
dan kin
dan kin on 18 Oct 2014
Thanks.
Why in the code rows3 and columns3 do not match rows2 and columns2?
Code:
clc;
clear;
img=imread('pears.png');
[rows1, columns1, numberOfColorChannels1] = size(img);
rows2=1000;
columns2=2000;
imgpad = padarray(img,[rows2 columns2],'both');
imshow(imgpad);
[rows3, columns3, numberOfColorChannels1] = size(imgpad);
Image Analyst
Image Analyst on 18 Oct 2014
Because that's not the way to use padarray. Read the instructions. The inputs are the number of rows you want to add, not the overall total rows.

Sign in to comment.

Categories

Find more on Images in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!