padarray for resizing canvas of images

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)

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

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);
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 Simulink in Help Center and File Exchange

Tags

Asked:

on 18 Oct 2014

Commented:

on 18 Oct 2014

Community Treasure Hunt

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

Start Hunting!