Запуск tforminv с использованием загруженной структуры TFORM - PullRequest
1 голос
/ 10 апреля 2020

Я использую cp2tform и набор из примерно 100 пар контрольных точек xy для генерации структуры TFORM, которую затем использую для преобразования координат xy между двумя системами координат («старая» и «новая»). Работает нормально. Ниже показано, как я конвертирую координаты x_old y_old в x_new y_new.

[TFORM]= cp2tform([x2,y2],[x1,y1],'lwm',16);
[x_new, y_new] = tforminv(TFORM, x_old,y_old);

Теперь мне нужно сохранить структуру TFORM в файл mat и загрузить ее для выполнения моих преобразований из старого в новое без необходимости запуска cp2tform каждый раз. При загрузке структура TFORM содержит все данные, необходимые для преобразования (контрольные точки и т. Д. c). Тем не менее, я получаю следующую ошибку при запуске tforminv:

Error using feval
Undefined function handle.

Error in tform (line ...)
X = feval( t.(f.fwd_fcn), U, t );

Error in tforminv (line ...)
varargout = tform('inv', nargout, varargin{:});

Я нашел сообщение, рекомендующее включить cp2tform в файл функции.

%#function cp2tform

Пробовал это, но это не дало эффекта. Было предупреждение о невозможности его загрузки, что странно, так как я прекрасно запускаю cp2tform из локального каталога.

Я могу go возвращаться к запуску cp2tform каждый раз, но мне интересно, есть ли способ использовать предварительно обработанные данные в структуре TFORM Могу ли я попросить о помощи?

Заранее спасибо!

...