MATLAB双目标定步骤

本文整理了使用MATLAB进行双目标定的详细步骤,包括将标定工具箱添加到MATLAB路径,设置图片文件夹,通过calib_gui启动标定界面,进行左摄像头的标定,提取棋盘格角点并完成后续操作。适用于立体视觉和双目相机的标定工作。
摘要由CSDN通过智能技术生成

看了许多标定的博文,为了以后的使用将标定步骤整理下来,整体分为先分别标定左右相机在立体标定:

这里使用的标定图片是网上找的,双目标定时待标定图片是双目相机同时拍摄得到的,拍摄程序如下:

#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,0
    CvCapture* 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以及各格式,这里图片保存的文件名

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值