图像[:,:,0:2] / 255和形状改变

时间:2017-11-04 21:54:12

标签: python python-3.x numpy scipy

我曾经看过以下代码行

 image = image[:, :, 0:2]/255

在运行此行代码之前,图像的形状为[489,1489,3]。但是在运行这行代码后,图像的形状为[489,1489,2]。我认为除法运算,即image[:, :, 0:2]/255不应改变形状。但它确实改变了,这让我很困惑。

2 个答案:

答案 0 :(得分:0)

改变形状而非分裂的切片是:

In [11]: a = np.random.rand(9, 9, 9)

In [12]: a[0:2, :, :].shape
Out[12]: (2, 9, 9)

In [13]: a[:, 0:2, :].shape
Out[13]: (9, 2, 9)

In [14]: a[:, :, 0:2].shape
Out[14]: (9, 9, 2)

In [15]: (a[:, :, 0:2] / 255).shape
Out[15]: (9, 9, 2)

请参阅numpy indexing docs

答案 1 :(得分:0)

好,他们除以255是因为,

像素值通常是介于0到255之间的无符号整数。尽管这些像素值可以直接以原始格式呈现给神经网络模型,但这可能会导致建模过程中的挑战,例如训练速度慢于预期的模型。

相反,在建模之前准备图像像素值会带来很大的好处,例如简单地将像素值缩放到0-1的范围以居中,甚至标准化这些值

我想现在你会知道