Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Matlab中使用images.internal.imageDisplayParsePVPairs时出错_Matlab_Image Processing_Warp - Fatal编程技术网

在Matlab中使用images.internal.imageDisplayParsePVPairs时出错

在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

我试图运行以扭曲图像,但无法在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)
注意:我已经安装了图像处理工具包。这是你的电话号码


如何正确运行此代码?

很久以前,
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')
代替,并自己回答了这个问题。这是帮助我的答案。谢谢