您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python numpy:将3d数组转换为2d

python numpy:将3d数组转换为2d

您需要使用np.transpose重新排列尺寸。现在,n x m x 3将被转换为3 x (n*m),因此将最后一个轴发送到前面,并按剩余轴的顺序右移(0,1)。最后,重塑以具有3行。因此,实施将是-

img.transpose(2,0,1).reshape(3,-1)

样品运行-

In [16]: img
Out[16]: 
array([[[155,  33, 129],
        [161, 218,   6]],

       [[215, 142, 235],
        [143, 249, 164]],

       [[221,  71, 229],
        [ 56,  91, 120]],

       [[236,   4, 177],
        [171, 105,  40]]])

In [17]: img.transpose(2,0,1).reshape(3,-1)
Out[17]: 
array([[155, 161, 215, 143, 221,  56, 236, 171],
       [ 33, 218, 142, 249,  71,  91,   4, 105],
       [129,   6, 235, 164, 229, 120, 177,  40]])
python 2022/1/1 18:27:37 有475人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶