(一)手把手教双目相机标定(超详细,附代码)[通俗易懂]

(一)手把手教双目相机标定(超详细,附代码)[通俗易懂]使用软件:matlab2018标定过程分三步走:1.图像采集2.图像分割3.matlab工具箱标定

大家好,又见面了,我是你们的朋友全栈君。

内容提要:
双目相机标定目的:求出左、右相机的内、外参数矩阵以及畸变参数
使用软件:matlab 2018
标定过程分三步走:

  1. 图像采集
  2. 图像分割
  3. matlab工具箱标定

第一步 图像采集
本实例采用的双目相机如下图所示:
标定使用的双目相机
采集程序见双目相机拍摄demo程序(vs2017)
用vs2017打开采集程序,界面如下:
在这里插入图片描述
点击Start Preview按钮,双目相机打开。
在这里插入图片描述
点击Capture,即可抓拍。为了保证标定效果,笔者建议将标定棋盘放在不同位置,抓拍十张以上照片。
在这里插入图片描述
第二步 图像切割
双目相机直接采集到的图像中包含左右相机的分图像,标注时要求将直接采集到的图像进行切割。本人采用matlab程序编写的切割代码。

clear;
A=imread(‘16.jpg’); //读取原图
[m ,n,~]=size(A); //读取原图尺寸,原图为三通道
n1=n/2;

picture_1=zeros(m,n1,3);
picture_2=zeros(m,n1,3);
picture_1=A(:,1:n1,:);
picture_2=A(:,n1+1:n,:);

cd(‘C:\Users\hongyi\Desktop\3_27_2\left’); //将切割好的左右图像保存到指定文件夹
imwrite(picture_1,‘16_l.jpg’);
cd(‘C:\Users\hongyi\Desktop\3_27_2\right’);
imwrite(picture_2,‘16_r.jpg’);

切割效果
在这里插入图片描述
在这里插入图片描述
第三步 使用matlab标定
打开matlab,在命令行窗口输入stereoCameraCalibrator,运行。
在这里插入图片描述
点击界面左上角的Add Images,输入左相机图片和右相机图片所在的文件夹,以及标定板的网格尺寸。(本人使用的标定板尺寸为30mm)
在这里插入图片描述
点击确定,标定板上的点就会被自动识别。在这里插入图片描述
点击界面上方的Calibrate键,启动标定过程。在界面下方可以看到误差统计和可视化展示。
在这里插入图片描述
点击界面上方按钮Export Camera Parameters,即可导出标定结果。在matlab主界面可查看。
在这里插入图片描述
左右相机的内参数矩阵、畸变参数以及旋转矩、平移矩阵都可以得出。
下一节将会将利用标定结果,利用双目相机拍摄的原图上的任何一个平面点求取其空间坐标。有兴趣的小伙伴可以持续关注哦!!!!!!!!!!!!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140468.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python一行实现局域网内传输文件[通俗易懂]

    python一行实现局域网内传输文件[通俗易懂]python一行实现局域网内传输文件熟悉python的大家伙,对于这个应该不陌生,这个功能我一直都在使用,今天想记录一下其实时想抛砖引玉。缘由记得那是刚开始学习python,对任何精简而强大的功能都感到好奇。从任何平台,只要看到关于python的文章,就会点进去进行深度阅读。久而久之,的确学习到了一些小技巧,或言之投机取巧吧。比如,这个用python来实现局域网内文件传输,就是在用了坚果pr…

    2022年6月4日
    32
  • weblogic详解「建议收藏」

    weblogic详解「建议收藏」WebLogic中间件webspherejbossWebLogic介绍、安装1.1.1. 什么是中间件中间件(middleware)是基础软件的一大类,属于可复用软件的范畴.顾

    2022年8月1日
    5
  • 安装错误 INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 解决办法「建议收藏」

    安装错误 INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 解决办法「建议收藏」安装时提示错误:Failure[INSTALL_PARSE_FAILED_MANIFEST_MALFORMED]是AndroidManifest.xml文件配置错误,有两种情况:1、Activity路径前面没有加点。2、taskAffinity属性前面没有加点。

    2025年5月27日
    0
  • labelImg使用教程

    labelImg使用教程Anaconda环境安装Anaconda之后,在开始菜单下找到Anaconda文件夹找到AnacondaPrompt点击运行安装labelImgpipinstalllabelImg#直接命令行输入启动labelImglabelImg#直接命令行输入名称即可labelImg界面开始标注快捷键:W(创建方框),A(上一张),D(下一张)XML文件示例<annotation> <folder>夜读</folder>

    2022年6月29日
    28
  • 值得收藏:一份非常完整的 MySQL 规范(二)

    值得收藏:一份非常完整的 MySQL 规范(二)

    2022年2月13日
    33
  • java 图书馆管理系统(面向接口编程)

    java 图书馆管理系统(面向接口编程)图书馆管理系统功能要求:1.图书馆(对书本的管理)  1.初始化图书馆的书本  2.图书馆有提供借书给用户的功能  3.图书馆有提供用户还书到图书馆的功能  4.图书馆提供查询图书馆的所有图书的功能2.用户系统(对用户管理)  1.初始化用户  2.用户管理提供注册用户的功能(用户名:首字母小写,至少6位。密码:必须包含小写字母,大写字

    2022年7月7日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号