аффинная трансформация и `imtransform` - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь следовать этому примеру MATLAB .

Пожалуйста, см. Шаг 2, в примере используется матрица M2 128 * 27 и используется аффинное преобразование для масштабирования и поворота M2, масштабный коэффициент равен 2,5. Тем не менее, я ожидаю, что размер результата должен быть 67,5 * 128 (так как 27 * 2,5 = 67,5, я не думаю, что это работает, но я не знаю, как обрабатывать double в этом случае), фактический результат, достигнутый MATLAB: 66 * 128.

Как вывести 66 в этом случае?

Я попытался изменить масштабный коэффициент на 2, и результат составил 53 * 128, и я ожидаю, что он будет 54 * 128, поскольку 27 * 2 = 54.

load mri
M1 = D(:,64,:,:);
M2 = reshape(M1,[128 27]);
T0 = maketform('affine',[0 -2.5; 1 0; 0 0]);
res = imtransform(M2,T0,'cubic')
size(res) // 66 * 128

1 Ответ

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

Матрица с 27 элементами имеет координаты, идущие от 0 до 26 (это координаты, используемые imtransform). После масштабирования на 2,5 эти координаты переходят от 0 до 26*2.5 = 65. Для удержания x-координат от 0 до 65 вам нужно 66 элементов.

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