(1)下载Matlab
参考这位:【Deepin 20 Beta系统】Linux系统安装Matlab R2019b详解_BetterBench的博客-CSDN博客_deepin matlab
(2)摄像头拍摄棋盘图片
IDE运行:
#include "opencv2/opencv.hpp"
#include <string>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
VideoCapture inputVideo(0); //视情况选择预标定摄像头
//inputVideo.set(CAP_PROP_FRAME_WIDTH, 320); //可选项,调整窗口大小
//inputVideo.set(CAP_PROP_FRAME_HEIGHT, 240);
if (!inputVideo.isOpened())
{
cout << "Could not open the input video " << endl;
return -1;
}
Mat frame;
string imgname;
int f = 1;
int count=0;
while (1) //Show the image captured in the window and repeat
{
inputVideo >> frame; // read
if (frame.empty()) break; // check if at end
imshow("Camera", frame);
char key = waitKey(1);
if (key == 27) break; //按ESC退出
if (key == 'q' || key == 'Q')
{
imgname = to_string(f++) + ".png"; //输出文件名为 f.jpg, 保留在工程文件夹中
imwrite(imgname, frame);
count++;
cout<<count<<endl;
}
}
return 0;
}
代码从视觉项目之单目摄像机标定(Matlab)(附详细代码)_筱寒小记-CSDN博客_摄像机标定matlab
中修改
(3)打开Matlab,这里用的是2019b版本,依次点
弹出的新窗口点击,导入用摄像头拍摄的棋盘图片:
弹出对话框填棋盘每个格子物理长度
再依次点,开始检测:
导出数据
返回开始的窗口,依次输入cameraParams.Intrinsics和cameraParams.IntrinsicMatrix,可以看到需要的详细内参矩阵、径向和切向畸变
参考:MATLAB--相机标定教程_heroacool的专栏-CSDN博客_matlab相机标定
视觉项目之单目摄像机标定(Matlab)(附详细代码)_筱寒小记-CSDN博客_摄像机标定matlab