数组连接
函数 | 作用 |
---|---|
np.concatenate | 连接沿现有轴的数组序列 |
np.stack | 沿着新的轴加入一系列数组 |
np.hstack | 沿着水平方向连接数组,增加列数 |
np.vstack | 沿着竖直方向链接数组,增加行数 |
- np.concatenate((arr1, arr2…), axis=0)
函数用于沿指定轴连接两个或多个数组。axis默认是0,即横向连接。 - np.hstack(tup)
沿着水平方向连接数组,增加列数。必须保证所有数组另一个轴上形状相同。等同于axis=0时的concatenate函数。 - np.vstack(tup)
沿着水平方向连接数组,增加行数。必须保证所有数组另一个轴上形状相同。等同于axis=1时的concatenate函数。
举例使用:
numpy官档里也强调,concatenate和stack函数在处理3维的像素数据时更有意义。所以,我们用一幅300x300的图片举例,opencv读进来是一个(300, 300, 3)的3维数组。
data = cv2.imread('D:/bird1.jpg')
data.shape
(300, 300, 3)
concatenate = np.concatenate((data, data))
cv2.imwrite('D:/concatenate.jpg', concatenate)
concatenate1 = np.concatenate((data, data), axis=1)
cv2.imwrite('D:/concatenate1.jpg', concatenate1)
hstack = np.hstack((data,data))
cv2.imwrite('D:/hstack.jpg', hstack)
vstack = np.vstack((data,data))
cv2.imwrite('D:/vstack.jpg', vstack)
图片来源https://500px.me/