% 提取角点,使用Matlab自带的函数detectCheckerboardPoints,提取出每张图片上的棋盘格角点的位置 imageFileNames = {'01.bmp', '02.bmp', '03.bmp', ... '04.bmp', '05.bmp', '06.bmp', '07.bmp', ... '08.bmp', '09.bmp', '10.bmp'}; [imagePoints, boardSize] = detectCheckerboardPoints(imageFileNames); % 标定相机,使用Matlab自带的函数estimateCameraParameters,将每张图片上提取出的角点位置,作为输入,就可以得到相机的内参矩阵K、畸变参数D、旋转矩阵R、平移向量T等参数 squareSize = 2; % 棋盘格尺寸为2mm*2mm worldPoints = generateCheckerboardPoints(boardSize, squareSize); params = estimateCameraParameters(imagePoints, worldPoints, ... 'EstimateSkew', false, 'EstimateTangentialDistortion', false); 添加代码需求 输出角点提取后的图片 并在图片上显示提取位置
时间: 2023-12-04 20:02:50 浏览: 244
可以使用以下代码输出角点提取后的图片,并在图片上显示提取位置:
```
[imagePoints, boardSize, imagesUsed] = detectCheckerboardPoints(imageFileNames);
for i = 1:numel(imagesUsed)
if imagesUsed(i)
fprintf('Image %d: \n', i);
disp(imagePoints(:,:,i));
img = imread(imageFileNames{i});
imshow(img);
hold on;
plot(imagePoints(:,1,i), imagePoints(:,2,i), 'ro', 'MarkerSize', 10);
hold off;
drawnow;
else
fprintf('Image %d: Not used\n', i);
end
end
```
其中,`imshow` 和 `hold on` 用于显示图片和在图片上绘制其他图形。`plot` 绘制角点的位置。`drawnow` 用于立即显示图形。
阅读全文