Kev*_*vin 27 python arrays numpy
我有一些我想要使用的图像,问题是有两种图像都是106 x 106像素,一些是彩色的,一些是黑色和白色.
一个只有两(2)个维度:
(106106)
和一个三(3)
(106,106,3)
有没有办法可以去掉这最后一个维度?
我试过np.delete,但它似乎没有用.
np.shape(np.delete(Xtrain[0], [2] , 2))
Out[67]: (106, 106, 2)
Run Code Online (Sandbox Code Playgroud)
Mat*_*ith 52
您可以使用numpy的花式索引(Python的内置切片表示法的扩展):
x = np.zeros( (106, 106, 3) )
result = x[:, :, 0]
print(result.shape)
Run Code Online (Sandbox Code Playgroud)
版画
(106, 106)
Run Code Online (Sandbox Code Playgroud)
形状(106, 106, 3)意味着你有3套具有形状的东西(106, 106).因此,为了"剥离"最后一个维度,您只需选择其中一个(这就是花哨的索引所做的).
你可以保留任何你想要的切片.我随意选择保留第0个,因为你没有指定你想要的东西.所以,result = x[:, :, 1]和result = x[:, :, 2]将给予所需的形状,以及:这一切只是取决于哪一个片段,你需要保持.
小智 7
如果您有多个维度,这可能会有所帮助
pred_mask[0,...] #Remove First Dim
Pred_mask[...,0] #Remove Last Dim
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37998 次 |
| 最近记录: |