在Matlab中使用images.internal.imageDisplayParsePVPairs时出错
我试图运行以扭曲图像,但无法在Matlab R2018b上正确运行,并出现以下错误:在Matlab中使用images.internal.imageDisplayParsePVPairs时出错,matlab,image-processing,warp,Matlab,Image Processing,Warp,我试图运行以扭曲图像,但无法在Matlab R2018b上正确运行,并出现以下错误: >> captureWarpPoints('man11.jpg'); Error using images.internal.imageDisplayParsePVPairs (line 71) The parameter, notruesize, is not recognized by imageDisplayParsePVPairs Error in images.internal.imag
>> 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)
注意:我已经安装了图像处理工具包。这是你的电话号码
如何正确运行此代码?很久以前,
imshow
可能有一个额外的选项,可以作为字符串参数调用truesize
。它不再有那种语法了。相反,请分别调用truesize。i、 e.更换
imshow(I, 'truesize');
与
或者您可以简单地删除参数并手动调整大小以满足需要。实际上,这些行必须更改才能正确运行代码: captureWarpPoints.m中的第17行必须更改为:
iptsetpref('ImshowBorder', 'tight'); % 'iptsetpref' must be lowercase not uppercase
capImgHandle = imshow(capImage, 'InitialMagnification', 'fit');
refImgHandle = imshow(modRefImage, 'InitialMagnification', 'fit');
displaceY = griddata(x, y, zy, xi', yi);
captureWarpPoints.m中的第36行必须更改为:
iptsetpref('ImshowBorder', 'tight'); % 'iptsetpref' must be lowercase not uppercase
capImgHandle = imshow(capImage, 'InitialMagnification', 'fit');
refImgHandle = imshow(modRefImage, 'InitialMagnification', 'fit');
displaceY = griddata(x, y, zy, xi', yi);
您编写的captureWarpPoints.m中的第133行必须更改为:
iptsetpref('ImshowBorder', 'tight'); % 'iptsetpref' must be lowercase not uppercase
capImgHandle = imshow(capImage, 'InitialMagnification', 'fit');
refImgHandle = imshow(modRefImage, 'InitialMagnification', 'fit');
displaceY = griddata(x, y, zy, xi', yi);
warpImage.m中的第26行必须更改为:
iptsetpref('ImshowBorder', 'tight'); % 'iptsetpref' must be lowercase not uppercase
capImgHandle = imshow(capImage, 'InitialMagnification', 'fit');
refImgHandle = imshow(modRefImage, 'InitialMagnification', 'fit');
displaceY = griddata(x, y, zy, xi', yi);
你写了捕获点吗?您正在使用“notruesize”选项调用imshow。这似乎不是调用imshow的有效选项。不,正如我提到的,它实际上是由编写的。这里是。似乎
truesize
对我不起作用,我只是用imshow(capImage,'initial放大','fit')
代替,并自己回答了这个问题。这是帮助我的答案。谢谢