Как определить "interp" при использовании imwarp

Я использую imwarp чтобы изменить изображение следующим образом:

WarpedImage=imwarp(Image, tform, 'OutputView', imref2dObject);

Я хотел бы определить параметр интерполяции, называемый "interp", указанный в руководстве:

Но это:

Interp='nearest';
WarpedImage=imwarp(Image, tform, 'OutputView', imref2dObject, 'Interp', Interp);

выдает ошибку:

Error using imwarp>parseInputs (line 329)
Argument 'Interp' did not match any valid parameter of the parser.

и это:

WarpedImage=imwarp(Image, tform, 'OutputView', imref2dObject, Interp);

дает:

Error using imwarp>parseInputs (line 329)
Parameter 'nearest' does not have a value.

Как правильно определить этот параметр?

2 ответа

Решение

Типичная функция MATLAB может иметь 3 вида параметров: обязательные, необязательные и пары имя-значение. Сначала идут обязательные параметры, затем необязательные параметры, а затем пары имя-значение. В случае imwarp, Image а также tform требуются, и interp не является обязательным, поэтому он должен предшествовать парам имя-значение:

WarpedImage=imwarp(Image, tform, Interp, 'OutputView', imref2dObject);

Попробуй поставить Interp до других вариантов (например, 'OutputView'...)

>> WarpedImage=imwarp(Image, tform, Interp, 'OutputView', imref2dObject);
Другие вопросы по тегам