彩色图像在numpy中以(h,w,c)的形式存储,而灰度图像则以(h,w)的形式存储,有时为了需求需要为其增加一个值为1的维度,成为(h,w,1),或者将(h,w,1)转换为(h,w)需要减少一个值。
增加一个值为1的维度 img = cv2.imread('D:\\code\\test_python\\img.jpg', cv2.IMREAD_UNCHANGED) print (img.shape) alpha = cv2.imread('D:\\code\\test_python\\alpha.jpg', cv2.IMREAD_GRAYSCALE) print (alpha.shape) #add dimension method1 mask_add1 = np.expand_dims(alpha, 2) print (mask_add1.shape) #add dimension method2 mask_add2 = alpha[:, :, np.newaxis] print (mask_add2.shape) #add dimension method3 mask_add3 = np.reshape(alpha, (alpha.shape[0], alpha.shape[1], 1)) print (mask_add3.shape) 删除一个值为1的维度 #sum dimension method1 mask_sub1 = np.squeeze(mask_add1) print (mask_sub1.shape) #sum dimension method2 mask_sub2 = np.reshape(mask_add2, (mask_add2.shape[0], mask_add2.shape[1])) print (mask_sub2.shape)参考资料
Numpy , Tensor , Variable 增删一个值为1的维度Python numpy为数组增加一个新维度–np.newaxis和np.expand_dimsNumpy库学习—squeeze()函数