我有一些我想处理的图像,问题是有两种图像都是 106 x 106 像素,一些是彩色的,一些是黑白的。
一个只有两 (2) 个维度:
(106,106)
和一个与三个 (3)
(106,106,3)
有没有办法去掉最后一个维度?
我试过 np.delete,但它似乎没有用。
np.shape(np.delete(Xtrain[0], [2] , 2))
Out[67]: (106, 106, 2)
原文由 Kevin 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您有多个维度,这可能会有所帮助
pred_mask[0,...] #Remove First Dim
Pred_mask[...,0] #Remove Last Dim
原文由 Mohamed Fathallah 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答975 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
您可以使用 numpy 的奇特索引(Python 内置切片符号的扩展):
印刷
(106, 106, 3)
的形状意味着你有 3 组具有形状(106, 106)
的东西。所以为了“剥离”最后一个维度,你只需要选择其中一个(这就是花式索引所做的)。你可以保留任何你想要的切片。我任意选择保留第 0 个,因为你没有指定你想要什么。所以,
result = x[:, :, 1]
和result = x[:, :, 2]
也会给出所需的形状:这完全取决于你需要保留哪个切片。