Add pad array for image only to top and bottom
9 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/156820/image.jpeg)
**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
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/156822/image.jpeg)
0 comentarios
Respuesta aceptada
Guillaume
el 2 de Oct. de 2016
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)
Ver también
Categorías
Más información sobre Image Processing Toolbox en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!