-
大小: 3.61MB文件类型: .rar金币: 1下载: 0 次发布日期: 2023-11-18
- 语言: 其他
- 标签: bumblebee2 Ranging opencv3.3.1 triclops flycapture2
资源简介
基于加拿大灰点公司的bumblebee2双目相机SDK+opencv3.3.1实现双目立体标定、深度伪彩色图像实施显示、鼠标实时测距、实时帧率等。
代码片段和文件信息
#include “Calibrate.h“
/*
Mat R_image //左相机图片
Mat L_image //右相机图片
char save //键盘响应按键
int cnt //照片计数(cnt初值为1)
String Photo_Save_Filename //保存路径文件夹
*/
void SavePhoto(Mat R_image Mat L_imagechar saveint cnt String Photo_Save_Filename)
{
String Photoname;
cv::imshow(“Rimage“ R_image);
cv::imshow(“Limage“ L_image);
if (save == ‘Y‘)
{
//左相机存储
Photoname = “Left“ + std::to_string(cnt) + “.jpg“;
Photoname = Photo_Save_Filename + Photoname;
cout << “save:“ << Photoname << endl;
cv::imwrite(Photoname L_image);
//右相机存储
Photoname = “Right“ + std::to_string(cnt) + “.jpg“;
Photoname = Photo_Save_Filename + Photoname;
cout << “save:“ << Photoname << endl;
cv::imwrite(Photoname R_image);
cnt++;
}
}
/*
Size board_size//标定板行列数
string Left_Calibrate_photo_file//标定照片路径
string Right_Calibrate_photo_file//标定照片路径
string Save_Calibrate_Data_file//校正参数保存文件
int photo_num //标定照片数量 #define photo_num 23 //标定照片数量
*/
void BB2_Calibrate(Size board_size string Left_Calibrate_photo_file string Right_Calibrate_photo_file string Save_Calibrate_Data_file
int photo_num)
{
//********STEP1:单目相机标定***********
//左相机标定
ifstream Lfin(Left_Calibrate_photo_file); /* 标定所用图像文件的路径 */
string Lfilename;
Size L_image_size; /* 图像的尺寸 */
int L_image_count = 0; /* 图像数量 */
vector> Left_image_points_all; /* 保存检测到的所有角点 */
vector L_image_points_buf; /* 缓存每幅图像上检测到的角点 */
//文件操作
while (L_image_count {
getline(Lfin Lfilename);
L_image_count++;
Mat imageInput = imread(Lfilename);
if (L_image_count == 1) //读入第一张图片时获取图像宽高信息
{
L_image_size.width = imageInput.cols;
L_image_size.height = imageInput.rows;
}
/* 提取角点 */
if (findChessboardCorners(imageInput board_size L_image_points_buf) == 0)
{
std::cout << “找不到角点,请检查参数设置!“ << endl;; //找不到角点
exit(1);
}
else
{
Mat view_gray;
cvtColor(imageInput view_gray CV_RGB2GRAY);//转灰度图像
cornerSubPix(view_gray L_image_points_buf Size(5 5) Size(-1 -1) TermCriteria(CV_TERMCRIT_EPS + CV_TERMCRIT_ITER 30 0.1));//亚像素处理
Left_image_points_all.push_back(L_image_points_buf); //保存亚像素角点
drawChessboardCorners(imageInput board_size L_image_points_buf true);//用于在图片中标记角点
imshow(“Left Camera Calibration“ imageInput);//显示图片
//imwrite(“G:/bd/Left“+to_string(L_image_count)+“.jpg“ imageInput);
waitKey(400);//暂停
}
}
int L_CornerNum = board_size.width*board_size.height; //每张图片上总的角点数
std::cout << “左相机角点提取完成!“ << endl;
//标定过程
Size square_size = Size(31.5f 31.5f); //实际测量得到的标定板上每个棋盘格的大小
vector> Left_object_points; // 保存标定板上角点的三维坐标
vector Left_point_counts; // 每幅图像中角点的数量
Mat Left_cameraMatrix = Mat(3 3 CV_32FC1 Scalar::all(0));// 摄像机内参数矩阵(FxFyCxCy)
Mat Left_distCoeffs = Mat(1 5 CV_32FC1 Scalar::all(0)); // 摄像机的5个畸变系数:k1k2p1p2k3
vector Left_tvecsMat;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 53760 2018-10-04 18:11 TWO\.vs\TWO\v14\.suo
文件 61440 2018-09-11 16:19 TWO\Debug\TWO.pdb
文件 12784 2018-10-02 14:41 TWO\TWO\Calibrate.cpp
文件 818 2018-09-25 12:08 TWO\TWO\Calibrate.h
文件 5981 2018-09-14 09:20 TWO\TWO\camera_configuration_tool.cpp
文件 2471 2018-09-12 11:46 TWO\TWO\camera_configuration_tool.h
文件 290395 2018-09-11 16:08 TWO\TWO\Debug\Example_Exception.obj
文件 193750 2018-09-11 16:19 TWO\TWO\Debug\grab_stereo.obj
文件 4346 2018-09-11 16:08 TWO\TWO\Debug\stdafx.obj
文件 9354 2018-09-11 16:19 TWO\TWO\Debug\TWO.log
文件 179220 2018-09-11 16:19 TWO\TWO\Debug\TWO.obj
文件 3638 2018-09-11 16:19 TWO\TWO\Debug\TWO.tlog\CL.command.1.tlog
文件 78216 2018-09-11 16:19 TWO\TWO\Debug\TWO.tlog\CL.read.1.tlog
文件 2260 2018-09-11 16:19 TWO\TWO\Debug\TWO.tlog\CL.write.1.tlog
文件 2 2018-09-11 16:19 TWO\TWO\Debug\TWO.tlog\li
文件 2 2018-09-11 16:19 TWO\TWO\Debug\TWO.tlog\li
文件 2 2018-09-11 16:19 TWO\TWO\Debug\TWO.tlog\li
文件 2 2018-09-11 16:19 TWO\TWO\Debug\TWO.tlog\li
文件 2 2018-09-11 16:19 TWO\TWO\Debug\TWO.tlog\li
文件 2 2018-09-11 16:19 TWO\TWO\Debug\TWO.tlog\li
文件 2 2018-09-11 16:19 TWO\TWO\Debug\TWO.tlog\li
文件 192 2018-09-11 16:19 TWO\TWO\Debug\TWO.tlog\TWO.lastbuildstate
文件 0 2018-09-11 16:19 TWO\TWO\Debug\TWO.tlog\unsuccessfulbuild
文件 1059840 2018-09-11 16:19 TWO\TWO\Debug\vc140.idb
文件 585728 2018-09-11 16:19 TWO\TWO\Debug\vc140.pdb
文件 154165 2018-09-11 17:39 TWO\TWO\disparity.png
文件 1257 2018-09-03 16:21 TWO\TWO\Example_Exception.cpp
文件 2491 2017-03-26 18:40 TWO\TWO\Example_Exception.h
文件 7412 2017-03-26 18:40 TWO\TWO\getopt.c
文件 8516 2017-03-26 18:40 TWO\TWO\getopt.h
............此处省略51个文件信息
- 上一篇:重构2-中文.pdf
- 下一篇:雷达的真实回波数据仿真
评论
共有 条评论