如何在使用imwarp时定义'interp'

时间:2013-11-07 15:44:54

标签: image matlab image-processing

我正在使用imwarp来修改这样的图片:

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

我想定义the manual中列出的名为'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 个答案:

答案 0 :(得分:2)

尝试将Interp放在其他选项之前(例如'OutputView' ...)

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

答案 1 :(得分:2)

典型的MATLAB函数可能有3种参数:必需,可选和名称 - 值对。首先是必需参数,然后是可选参数,然后是名称 - 值对。对于imwarpImagetform是必需的,而interp是可选的,因此它必须位于名称 - 值对之前:

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