matlabimage-processingwarp

Error using images.internal.imageDisplayParsePVPairs in Matlab


I am trying to run this code in order to warp an image, but I can not run that properly on Matlab R2018b and get the following error:

>> 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)

Note: I have Image Processing Toolkit installed. Here is the source code.

How can I run this code properly?


Solution

  • Actually, these lines must change in order to run the code properly:

    Line 17 in the captureWarpPoints.m must change to:

    iptsetpref('ImshowBorder', 'tight'); % 'iptsetpref' must be lowercase not uppercase
    

    Line 36 in the captureWarpPoints.m must change to:

    capImgHandle = imshow(capImage, 'InitialMagnification', 'fit');
    

    Line 133 in the captureWarpPoints.m as you wrote must change to:

    refImgHandle = imshow(modRefImage, 'InitialMagnification', 'fit');
    

    Line 26 in the warpImage.m must change to:

    displaceY = griddata(x, y, zy, xi', yi);