www.gusucode.com > vision 源码程序 matlab案例代码 > vision/RemoveLensDistortionExample.m

    %% Remove Lens Distortion

% Copyright 2015 The MathWorks, Inc.


% Create a cell array of file names of calibration images.
    for i = 1:10
        imageFileName = sprintf('image%02d.jpg', i);
        imageFileNames{i} = fullfile(matlabroot, 'toolbox', 'vision','visiondata', 'calibration', 'fishEye', imageFileName);
    end

% Detect calibration pattern.
    [imagePoints, boardSize] = detectCheckerboardPoints(imageFileNames);
    
% Generate world coordinates of the corners of the squares.
    squareSize = 29; % square size in millimeters
    worldPoints = generateCheckerboardPoints(boardSize, squareSize);
    
% Calibrate the camera.
    cameraParameters = estimateCameraParameters(imagePoints, worldPoints);
    
% Remove lens distortion and display results
    I = imread(fullfile(matlabroot, 'toolbox', 'vision', 'visiondata', 'calibration', 'fishEye', 'image01.jpg'));
    J = undistortImage(I, cameraParameters);
    
% Display original and corrected image.
    figure; imshowpair(I, J, 'montage');
    title('Original Image (left) vs. Corrected Image (right)');