如何修正 Y_labels 张图片的形状
How to correct the shape of Y_labels images
GrayScale 中的图像具有 (H, W)
形状,尽管 RGB 图像具有 (H, W, C)
形状 (C: channels)
。
当加载 Gray 图像(在代码中调用 DEPTH)时,我的形状为 (128, 128)
并且可以显示这张图片,格式为:
[[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
...
[2 1 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]]
同样,当加载 RGB 图像(仅称为 IMAGE)时,我的形状为 (128, 128, 3)
并且可以显示这张图片,格式为:
[[[21 34 27]
[25 37 33]
[26 37 33]
...
[28 38 50]
[18 20 20]
[30 29 12]]
...
[[20 30 33]
[23 34 35]
[23 35 35]
...
[31 24 7]
[34 29 1]
[35 29 8]]]
如何使灰度图像中的形状 (W, H, C)
像 RGB 图像一样?
如果我调整形状(使用 np.reshape 或调整大小)只添加最后一个通道,图像就会损坏,我无法显示或使用它。整形后的图像具有 (128, 128, 1)
的形式
[[[0]
[0]
[0]
...
[0]
[0]
[0]]
...
[[2]
[1]
[0]
...
[0]
[0]
[0]]
Y_train = np.zeros((len(images), IMG_HEIGHT, IMG_WIDTH, 1), dtype=np.int8)
mask = np.zeros((IMG_HEIGHT, IMG_WIDTH, 1), dtype=np.int8)
for i in tqdm(range(len(depths))):
 mask = imread(depths[i])
 mask = resize(mask, (IMG_HEIGHT, IMG_WIDTH), mode='constant', preserve_range=True)
 Y_train[i] = mask
print(Y_train[0].shape)
print(Y_train[0])
imshow(Y_train[0]) #-- SUCCESFULL TO PRINT
test = np.resize(test, (IMG_HEIGHT, IMG_WIDTH, 1))
print(test.shape)
print(test)
imshow(test) #-- FAIL TO PRINT
试穿这件尺码:
import numpy as np
a=np.array([[1,2],[3,4]])
b=np.tile(a.reshape(a.shape[0],a.shape[1],1),(1,1,3))
结果:
a
array([[1, 2],
[3, 4]])
b[:,:,0]
array([[1, 2],
[3, 4]])
b[:,:,1]
array([[1, 2],
[3, 4]])
GrayScale 中的图像具有 (H, W)
形状,尽管 RGB 图像具有 (H, W, C)
形状 (C: channels)
。
当加载 Gray 图像(在代码中调用 DEPTH)时,我的形状为 (128, 128)
并且可以显示这张图片,格式为:
[[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
...
[2 1 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]]
同样,当加载 RGB 图像(仅称为 IMAGE)时,我的形状为 (128, 128, 3)
并且可以显示这张图片,格式为:
[[[21 34 27]
[25 37 33]
[26 37 33]
...
[28 38 50]
[18 20 20]
[30 29 12]]
...
[[20 30 33]
[23 34 35]
[23 35 35]
...
[31 24 7]
[34 29 1]
[35 29 8]]]
如何使灰度图像中的形状 (W, H, C)
像 RGB 图像一样?
如果我调整形状(使用 np.reshape 或调整大小)只添加最后一个通道,图像就会损坏,我无法显示或使用它。整形后的图像具有 (128, 128, 1)
[[[0]
[0]
[0]
...
[0]
[0]
[0]]
...
[[2]
[1]
[0]
...
[0]
[0]
[0]]
Y_train = np.zeros((len(images), IMG_HEIGHT, IMG_WIDTH, 1), dtype=np.int8)
mask = np.zeros((IMG_HEIGHT, IMG_WIDTH, 1), dtype=np.int8)
for i in tqdm(range(len(depths))):
 mask = imread(depths[i])
 mask = resize(mask, (IMG_HEIGHT, IMG_WIDTH), mode='constant', preserve_range=True)
 Y_train[i] = mask
print(Y_train[0].shape)
print(Y_train[0])
imshow(Y_train[0]) #-- SUCCESFULL TO PRINT
test = np.resize(test, (IMG_HEIGHT, IMG_WIDTH, 1))
print(test.shape)
print(test)
imshow(test) #-- FAIL TO PRINT
试穿这件尺码:
import numpy as np
a=np.array([[1,2],[3,4]])
b=np.tile(a.reshape(a.shape[0],a.shape[1],1),(1,1,3))
结果:
a
array([[1, 2],
[3, 4]])
b[:,:,0]
array([[1, 2],
[3, 4]])
b[:,:,1]
array([[1, 2],
[3, 4]])