Как определить "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);