Мы можем построить структуру TFORM, используя контрольные точки с помощью функции cp2tform, однако мне интересно, можем ли мы получить явную форму матрицы преобразования, а не структуру TFORM, чтобы я мог вычислить размер пикселя преобразованного изображение из исходного изображения, где размер пикселя dx не равен dy.
получить матрицу преобразования из контрольных точек
Ответы (1)
Если TFORM
- это возвращенная структура, вы можете получить доступ к матрицам преобразования как:
TFORM.tdata.T
а также
TFORM.tdata.Tinv
один для прямого преобразования, другой - для обратного.
Вы можете отредактировать maketform.m
файл в панели инструментов IPT и посмотреть, как они используются внутри.
person
Amro
schedule
17.06.2012
Кстати, вам также следует изучить параметры функции
imtransform
(относительно размера преобразованного изображения)
- person Amro; 18.06.2012
Имейте в виду, что в некоторых случаях это не сработает. maketform может быть вызван с помощью пользовательской анонимной функции, в этом случае tdata может быть любым
- person Andrey Rubshtein; 18.06.2012
@Andrey: хм, тогда возникает вопрос, есть ли случаи, когда
cp2tform
вызывает maketform
с пользовательским преобразованием?
- person Amro; 18.06.2012
Да, например, в режиме
polynomial
это будет c.tdata, а не c.tdata.T
- person Andrey Rubshtein; 18.06.2012