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)