为避免卷积运算导致图像缩小和边缘信息丢失,采用填充技术,即在图像边缘填充0,使卷积运算后的图像大小,与理想的图像大小相符,同时不会丢失边缘和角落信息。
用法:np.pad(array, pad_width, mode)
返回:填充后的数组
参数:array:输入数组(需要被填充的图像数组)
pad_width:图像每个轴或维度(axis)上的边缘需要填充的大小。如:pad_width=((1,2),(3,4),(5,6))表示,在第一个维度的水平方向pad=1,垂直方向上pad=2,同理,在第二和第三个维度上,水平和垂直方向上的pad=3,pad=4,pad=5,pad=6。
mode:每个维度如何填充,‘constant’可指定填充的值,不指定,默认填充0;‘edge’以边缘的值填充;‘maximum’以该轴的最大值填充;‘median’以平均值填充;
#二维填充
import numpy as np
a = [[1,2],[3,4]]
b = np.pad(a, ((1,2),(3,4)), 'constant')
print(b)
[[0 0 0 0 0 0 0 0 0]
[0 0 0 1 2 0 0 0 0]
[0 0 0 3 4 0 0 0 0]
[0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0]]
参考:https://blog.csdn.net/qq_36332685/article/details/78803622