MATLAB双目标定步骤
看了许多标定的博文,为了以后的使用将标定步骤整理下来,整体分为先分别标定左右相机在立体标定:
这里使用的标定图片是网上找的,双目标定时待标定图片是双目相机同时拍摄得到的,拍摄程序如下:
#include "stdafx.h"
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std; char* name_l = (char*)malloc(sizeof(char)*200);
char* name_r = (char*)malloc(sizeof(char)*200);
int main()
{ int i=0; IplImage *img0 , *img1; cvNamedWindow("camera_left"); cvNamedWindow("camera_right"); CvCapture* cap_left= cvCreateCameraCapture(2); //这里我的摄像头ID是2,1,也有可能是1,0CvCapture* cap_right= cvCreateCameraCapture(1); while(1) { img0 = cvQueryFrame(cap_left);img1 = cvQueryFrame(cap_right); if( !img0 || !img1) { cout << "camera0 error" << endl; break; } cvShowImage("camera_left", img0); cvShowImage("camera_right", img1); char c = cvWaitKey(33); if(c == 27) break; if(c == 32) { i++; sprintf(name_l, "leftPic%d.jpg", i); sprintf(name_r, "rightPic%d.jpg", i); cvSaveImage(name_l, img0); cvSaveImage(name_r, img1); } } cvReleaseCapture(&cap_left); cvReleaseCapture(&cap_right); cvDestroyWindow("camera_left"); cvDestroyWindow("camera_right"); return 0;
}
将下载好的标定工具箱插件放到MATLAB目录下,这里本人是放置toolboox这个文件夹下,然后打开MATLAB点击File->Set Path->Add Floder添加插件目录,在save一下
将当前文件夹设置成待标定图片的文件夹,我这里是在桌面新建一个文件夹放置图片,所以Current Folder设置如下
MATLAB命令行窗口输入calib_gui,弹出工具框
选择第一个Standard,弹出如下界面Camera Calibration Toolbox(以下简称标定界面)
现在开始左摄像头标定,选择第一个Images names后,MATLAB命令行窗口会提示你输入图片的basename以及各格式,这里图片保存的文件名如第二张图左侧所示为left01,left02,所以提示的basename行写left,按Enter键提示输入图片格式,这里为jpg,在按回车键读入做摄像头的棋盘图这里读入的图片就不显示了。
然后点击标定界面上的Extract grid corners,MATLAB命令界面显示然后一路回车键下去最后如下
<?xml version="1.0"?>
<opencv_storage>
<Intrinsics_Camera_Left type_id="opencv-matrix"> <rows>3</rows> <cols>3</cols> <dt>d</dt> <data> 534.02373 0. 341.01149 0. 533.86709 233.26555 0. 0. 1.
</data>
</Intrinsics_Camera_Left>
</opencv_storage>
Distortion_Camera_Left.xml:
<?xml version="1.0"?>
<opencv_storage>
<Distortion type_id="opencv-matrix"> <rows>5</rows> <cols>1</cols> <dt>d</dt> <data> -0.28668 0.10398 0.00171 -0.00063 0.00000
</data>
</Distortion>
</opencv_storage>
Intrinsics_Camera_Right.xml:
<?xml version="1.0"?>
<opencv_storage>
<Intrinsics_Camera_Right type_id="opencv-matrix"> <rows>3</rows> <cols>3</cols> <dt>d</dt> <data> 537.82796 0. 321.73805 0. 537.87268 249.47070 0. 0. 1. </data>
</Intrinsics_Camera_Right>
</opencv_storage>
Distortion_Camera_Right.xml:
<?xml version="1.0"?>
<opencv_storage>
<Distortion type_id="opencv-matrix"> <rows>5</rows> <cols>1</cols> <dt>d</dt> <data> -0.29416 0.13839 -0.00009 0.00061 0.00000
</data>
</Distortion>
</opencv_storage>
RotRodrigues.xml:
<?xml version="1.0"?>
<opencv_storage>
<RotRodrigues type_id="opencv-matrix"> <rows>3</rows> <cols>1</cols> <dt>d</dt> <data> 0.00918 0.01162 -0.00369
</data>
</RotRodrigues>
</opencv_storage>
Translation.xml:
<?xml version="1.0"?>
<opencv_storage>
<Translation type_id="opencv-matrix"> <rows>3</rows> <cols>1</cols> <dt>d</dt> <data> -83.09797 0.95964 1.09394
</data>
</Translation>
</opencv_storage>
将上述语句复制到txt中,然后直接修改后缀为xml即可,以上数值都是MATLAB立体标定结果内容,自己复制后只需将数字对应改成自己的标定结果就行。
MATLAB双目标定步骤相关推荐
- opencv读取MATLAB双目标定的结果进行双目校正
概述: opencv内部也有双目标定的函数,但是结果有时候会飘,所以想先用MATLAB标定工具箱试试看.使用MATLAB先队两个相机进行单目标定,然后进行双目标定,将结果保存在xml文件中.xml文件 ...
- matlab 双目标定及参数说明
一 标定步骤 1. 调用标定app 2. 勾选相应的选项 一般选择3个径向畸变和2个切向畸变 3. 载入双目图片 点击add images,出现如下界面,自己选择图片的路径和棋盘格的单位长度,然后点击 ...
- 基本矩阵 双目 matlab,MATLAB双目标定与OpenCV计算矫正参数矩阵
Intrinsic parameters of left camera: Focal Length: fc_left = [ 320.53138 321.62046 ] ?[ 1.32444 1.28 ...
- Matlab双目相机标定
1 概述 现在有许多双目相机在出厂时就已经标定好了,用户拿到手后可以直接使用,例如Intel Realsense系列.但是有些相机出厂的时候并没有完成标定工作,因而这个时候就需要我们自己来标定.由于笔 ...
- 双目三维重建系统(双目标定+立体校正+双目测距+点云显示)Python
双目三维重建系统(双目标定+立体校正+双目测距+点云显示)Python 目录 双目三维重建系统(双目标定+立体校正+双目测距+点云显示)Python 1.项目结构 2. Environment 3.双 ...
- OpenCV | 双目相机标定之OpenCV获取左右相机图像+MATLAB单目标定+双目标定
博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 原本网上可以搜到很多关于双目相机标 ...
- matlab双目相机标定校正_基于双目视觉的无人机避障算法(一)
讲述在10月到12月所做的所有工作 对于一个无人机自主避障来说,存在着以下流程: 感知:障碍物检测.行人检测.目标检测 SLAM:为无人机提供位置估计,构建稀疏环境地图 路径规划:规划一条从当前位置到 ...
- 双目立体视觉:四(双目标定matlab,图像校正,图像匹配,计算视差,disparity详解,)
二郎也比较忙,在某大场工作,有时候没有时间回复. 如果希望二郎尽快帮忙,可以将代码,数据和问题发给二郎,谢谢大家理解. glwang20@mails.jlu.edu.cn 不过还是希望大家自己要好好研 ...
- 相机标定 matlab opencv ROS三种方法标定步骤(1)
一 . 理解摄像机模型,网上有很多讲解的十分详细,在这里我只是记录我的整合出来的资料和我的部分理解 计算机视觉领域中常见的三个坐标系:图像坐标系,相机坐标系,世界坐标系,实际上就是要用矩阵来表 示各个 ...
- 研电赛项目之双目测距,涉及matlab相机标定,opencv多线程编程,摄像头读取,行人检测、BM立体匹配等等
1 前言 今年参加了十五届研电赛,前天刚提交了作品,还有几天就答辩了,趁这几天总结一下这一个多月的收获. 本次研电赛作品为汽车行驶防碰撞系统,主要面向大型汽车在低速行驶场景下的防碰撞问题,通过双目相机 ...
最新文章
- mysql与ms sql server_MS SQL Server和MySQL区别
- 线下生意再次“受宠”:大数据给你添点料
- SPHINX 文档写作工具安装简要指南 - windows 版 - 基于python
- session机制详解以及session的相关应用
- keras 多GPU训练,单GPU权重保存和预测
- WIN7清理C盘空间垃圾的BAT脚本
- 交换机常用配置命令(华为)
- 自举电路工作原理分析
- C语言——顺序结构训练题
- va start linux头文件,va_start/va_end函数-linux
- 00 SQL课程简介
- 学习使用jQuery中的on() 方法
- 【风马一族_php】NO5_php基础知识_数组
- Python装逼指南——五行代码实现批量抠图!
- Python中range函数的用法
- android异常相机处理,android 调用系统相机拍照的各种异常处理
- CentOS7 export命令
- 树上倍增法求最近公共祖先LCA
- 企业做了ISO9001管理体系认证,还需要再做售后服务认证吗?
- Python反爬,JS反爬串讲,从MAOX眼X开始,本文优先解决反爬参数 signKey