在 Matlab 中使用 images.internal.imageDisplayParsePVPairs 时出错
Error using images.internal.imageDisplayParsePVPairs in Matlab
我正在尝试 运行 this code 以扭曲图像,但我无法 运行 在 Matlab R2018b 上正确地 运行并得到以下错误:
>> captureWarpPoints('man11.jpg');
Error using images.internal.imageDisplayParsePVPairs (line 71)
The parameter, notruesize, is not recognized by imageDisplayParsePVPairs
Error in images.internal.imageDisplayParseInputs (line 69)
[common_args,specific_args] = images.internal.imageDisplayParsePVPairs(varargin{:});
Error in imshow (line 245)
images.internal.imageDisplayParseInputs({'Parent','Border','Reduce'},preparsed_varargin{:});
Error in captureWarpPoints>updateRef (line 133)
refImgHandle = imshow(modRefImage, 'notruesize');
Error in captureWarpPoints (line 29)
updateRef(1, refImage, refPoints)
注意:我安装了图像处理工具包。这是 source code.
如何正确运行这段代码?
很久以前 imshow
可能有一个额外的选项可以将 truesize
作为字符串参数调用。它不再具有该语法。而是单独调用 truesize。即替换
imshow(I, 'truesize');
与
imshow(I);
truesize;
或者您可以简单地删除参数并手动将大小调整为您需要的大小。
实际上,必须更改这些行才能 运行 代码正确:
captureWarpPoints.m中的第 17 行必须改为:
iptsetpref('ImshowBorder', 'tight'); % 'iptsetpref' must be lowercase not uppercase
captureWarpPoints.m中的第36行必须改为:
capImgHandle = imshow(capImage, 'InitialMagnification', 'fit');
captureWarpPoints.m 中的第 133 行必须更改为:
refImgHandle = imshow(modRefImage, 'InitialMagnification', 'fit');
warpImage.m中的第26行必须改为:
displaceY = griddata(x, y, zy, xi', yi);
我正在尝试 运行 this code 以扭曲图像,但我无法 运行 在 Matlab R2018b 上正确地 运行并得到以下错误:
>> captureWarpPoints('man11.jpg');
Error using images.internal.imageDisplayParsePVPairs (line 71)
The parameter, notruesize, is not recognized by imageDisplayParsePVPairs
Error in images.internal.imageDisplayParseInputs (line 69)
[common_args,specific_args] = images.internal.imageDisplayParsePVPairs(varargin{:});
Error in imshow (line 245)
images.internal.imageDisplayParseInputs({'Parent','Border','Reduce'},preparsed_varargin{:});
Error in captureWarpPoints>updateRef (line 133)
refImgHandle = imshow(modRefImage, 'notruesize');
Error in captureWarpPoints (line 29)
updateRef(1, refImage, refPoints)
注意:我安装了图像处理工具包。这是 source code.
如何正确运行这段代码?
很久以前 imshow
可能有一个额外的选项可以将 truesize
作为字符串参数调用。它不再具有该语法。而是单独调用 truesize。即替换
imshow(I, 'truesize');
与
imshow(I);
truesize;
或者您可以简单地删除参数并手动将大小调整为您需要的大小。
实际上,必须更改这些行才能 运行 代码正确:
captureWarpPoints.m中的第 17 行必须改为:
iptsetpref('ImshowBorder', 'tight'); % 'iptsetpref' must be lowercase not uppercase
captureWarpPoints.m中的第36行必须改为:
capImgHandle = imshow(capImage, 'InitialMagnification', 'fit');
captureWarpPoints.m 中的第 133 行必须更改为:
refImgHandle = imshow(modRefImage, 'InitialMagnification', 'fit');
warpImage.m中的第26行必须改为:
displaceY = griddata(x, y, zy, xi', yi);