Как транспонировать 3D матрицу как 2D? - PullRequest
0 голосов
/ 10 января 2019

Я хочу транспонировать трехмерную матрицу, но не касаясь самого внутреннего списка. Трехмерная матрица представляет собой массив изображений, и целью транспонирования является поворот изображения, но не изменение значений пикселей (r.g.b).

image = np.array(
    [
        [[15, 15, 25], [50, 50, 50], [90, 90, 90], [255, 255, 255], [127, 127, 127]],

        [[121, 121, 121], [75, 10, 75], [187, 187, 187], [0, 0, 0], [210, 50, 100]],

        [[31, 31, 31], [63, 63, 63], [87, 87, 87], [63, 63, 63], [63, 63, 63]],

        [[95, 95, 95], [95, 95, 95], [115, 115, 115], [87, 87, 87], [95, 95, 95]],

        [[95, 95, 95], [63, 63, 63], [63, 63, 63], [87, 87, 87], [100, 250, 250]]
    ], dtype=np.uint8)

Результат должен быть примерно таким.

result = np.array(
    [
        [[15, 15, 25], [121, 121, 121], [31, 31, 31], [95, 95, 95], [95, 95, 95]],

        [[50, 50, 50], [75, 10, 75], [63, 63, 63], [95, 95, 95], [63, 63, 63]],

        [[90, 90, 90], [187, 187, 187], [87, 87, 87], [115, 115, 115], [63, 63, 63]],

        [[255, 255, 255], [0, 0, 0], [63, 63, 63], [87, 87, 87], [87, 87, 87]],

        [[127, 127, 127], [210, 50, 100], [63, 63, 63], [95, 95, 95], [100, 250, 250]]
    ], dtype=np.uint8)

Ответы [ 2 ]

0 голосов
/ 10 января 2019

Я думаю, что ответ на этот вопрос можно найти здесь

в основном используйте это

numpy.swapaxes(image,0,1)
0 голосов
/ 10 января 2019

Посмотрите на np.swapaxis

np.swapaxes(image, 0, 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...