普通相机标定——功能函数编写
2023-12-29 17:50:02
前言
如之前章节内容所述,相机内参标定的流程包括1)采集一些包含棋盘格的相机图像,2)检测棋盘格角点,3)标定计算相机内参与畸变系数,4)验证标定精度与效果。本章我们将开始具体的编程开发,首先完成一些功能性函数的实现。
注:相关代码在Windows平台运行。
保存相机图像
这里可以使用电脑自带摄像头进行标定,使用OpenCV的VideoCapture接口可打开摄像头获取图像数据。我们编写一个函数,其功能为打开制定id的摄像头(系统摄像头默认为0)并以指定帧间隔保存图像到某个文件夹下面,具体实现如下。
void SaveCameraImage(int camera_id, int save_frame_interval, char* save_img_path)
{
// 1.创建图像路径文件夹,注意save_img_path指定的路径的上一层路径所在文件夹必须存在
MyRmDir(save_img_path);
_mkdir(save_img_path);
// 2.打开指定id的摄像头,并设置图像分辨率为摄像头支持的最大分辨率
cv::VideoCapture cap;
cap.open(camera_id);
if (!cap.isOpened())
{
printf("Error: open camera %d failed\n", camera_id);
return;
}
cap.set(cv::CAP_PROP_FRAME_WIDTH, 1280);
cap.set(cv::CAP_PROP_FRAME_HEIGHT, 720);
// 3.按照指定帧率间隔保存图
文章来源:https://blog.csdn.net/lwx309025167/article/details/135293814
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!