padarray for resizing canvas of images

2 visualizaciones (últimos 30 días)
dan kin
dan kin el 18 de Oct. de 2014
Comentada: Image Analyst el 18 de Oct. de 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

Respuestas (1)

Image Analyst
Image Analyst el 18 de Oct. de 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 comentarios
dan kin
dan kin el 18 de Oct. de 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 el 18 de Oct. de 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.

Iniciar sesión para comentar.

Categorías

Más información sobre Image Processing Toolbox en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by