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

    %% Compute Extrinsics
% Load calibration images.

% Copyright 2015 The MathWorks, Inc.

numImages = 9;
files = cell(1, numImages);
 for i = 1:numImages
    files{i} = fullfile(matlabroot, 'toolbox', 'vision', 'visiondata', 'calibration', 'slr', sprintf('image%d.jpg', i));
 end

%%
% Detect the checkerboard corners in the images.
[imagePoints, boardSize] = detectCheckerboardPoints(files);
 
%% 
% Generate the world coordinates of the checkerboard corners in the pattern-centric coordinate system, with the upper-left corner at (0,0).
squareSize = 29; % in millimeters
worldPoints = generateCheckerboardPoints(boardSize, squareSize);
 
%%
% Calibrate the camera.
cameraParams = estimateCameraParameters(imagePoints, worldPoints);
 
%% 
% Load image at new location.
imOrig = imread(fullfile(matlabroot, 'toolbox', 'vision', 'visiondata', 'calibration', 'slr', 'image9.jpg'));
figure; imshow(imOrig);
title('Input Image');
 
%% 
% Undistort image.
im = undistortImage(imOrig, cameraParams);
 
%% 
% Find reference object in new image.
[imagePoints, boardSize] = detectCheckerboardPoints(im);
 
%% 
% Compute new extrinsics.
[rotationMatrix, translationVector] = extrinsics(imagePoints, worldPoints, cameraParams)