Borrar filtros
Borrar filtros

Add pad array for image only to top and bottom

5 visualizaciones (últimos 30 días)
Malan Jayanka
Malan Jayanka el 2 de Oct. de 2016
Comentada: Malan Jayanka el 2 de Oct. de 2016
I want to add pad array to a given image, for top and bottom sides only. How can I do this
**I don't want black outline it is only for illustration
I have used this code but it appears in only left and right sides only
rgbImage = imread('image path');
[heigth,width,dim] = size(rgbImage);
if heigth>width
cal=(heigth-width)/2;
calculatedWidth=double(fix(cal));
paddedImage = padarray(rgbImage,[0 calculatedWidth],255);
else
cal=(width-heigth)/2;
calculatedHeigth=double(fix(cal));
paddedImage = padarray(rgbImage,[0 calculatedHeigth],255);
end
imshow(paddedImage);
*output image that I have got

Respuesta aceptada

Guillaume
Guillaume el 2 de Oct. de 2016
Isn't the problem obvious if you read the documentation of padarray?
The first element of the 2nd argument of padarray is the padding top and bottom, the 2nd element is the padding left and right. You always specify 0 even when you want to add top and bottom.
Replace the second padarray call by:
paddedImage = padarray(rgbImage,[calculatedHeigth 0],255); %swapped the elements of padsize

Más respuestas (0)

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by