Матрица вращения вращения для любых градусов - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь найти способ применить поворот матрицы на любые градусы к моей матрице, которая содержит три полосы, например RGB, но значения больше (0-255).

Это пример моих данных, его форма (100, 100, 3):

 [[ 847.5  877.   886.  ...  821.5  856.5  898. ]
 [ 850.   883.   969.5 ...  885.   878.5  947.5]
 [ 982.   968.5  927.5 ...  909.5  958.  1037. ]
 ...
 [ 912.   827.   893.  ... 1335.  1180.  1131. ]
 [ 954.   855.5  882.  ... 1252.  1266.  1335. ]
 [ 984.   916.   930.  ... 1080.5 1278.  1385.5]]

Я нашел функцию scipy.misc.imrotate(image_array, 20), но проблема в том, что эта функция масштабирует мои данные до диапазона (0-255), таким образом, я теряю информацию о моей исходной матрице. Есть ли функция, которая выполняет ту же работу, что и предыдущая, без изменения масштаба данных?

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

Вы пробовали rotate функцию от scipy.indimage.interpolation?

import numpy as np
from scipy.ndimage.interpolation import rotate

x = np.random.randint(800, 1000, size=[100, 100, 3])
rotated = rotate(x, angle=45)

Вращает матрицу без масштабирования значений.

0 голосов
/ 06 ноября 2018

Возможно, вы захотите попробовать открыть резюме warpAffine () . Это позволяет вращение и перемещение изображения.

В зависимости от выбранного вами метода интерполяции, у вас могут быть некоторые изменения в ваших значениях.

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