zoukankan      html  css  js  c++  java
  • usb-cam (2)摄像机标定

    http://blog.csdn.net/heyijia0327/article/details/43538695

    官方也给出了单目的标定教程双目视觉的标定教程。本教程基于usb_cam  package 读取图像,然后使用官方例程进行标定。

    0 安装usb_cam

    1.使用usb_cam 读取图像

    roscore
    

     

    roslaunch usb_cam usb_cam-test.launch
    

    这时笔记本的摄像头的灯会亮,并且弹出一个名为/camera/image_raw的窗口:      

    launch文件如下:

    <launch>
        <arg name="device" default="/dev/video0" />
        <node name="usb_cam_node" pkg="usb_cam" type="usb_cam_node" output="screen">
            <param name="video_device" value="$(arg device)" />
            <param name="image_width" value="640" />
            <param name="image_height" value="480" />
            <param name="framerate" value="30" />
            <param name="brightness" value="128" />
            <param name="contrast" value="128" />
            <param name="saturation " value="70" />某文件夹下有文件夹但看不见
        </node>
    </launch>
    

    2.检查usb_cam package发布的消息:

    rostopic list  
    

     看是否有如下消息,并记住名称

     
    /usb_cam/camera_info
    /usb_cam/image_raw
    

    3.启动标定程序:

     
    rosrun camera_calibration cameracalibrator.py --size 11x8 --square 0.03 image:=/usb_cam/image_raw camera:=/usb_cam  
    

    其中参数size 11x8 注意是字母x,他是棋盘内部角点个数,如下图所示。square为棋盘正方形边长,注意刚刚开始标定的时候,CALIBRATE按钮是灰色的。

    4.标定程序使用方法:

           为了得到一个好的标定结果,应该使得标定板尽量出现在摄像头视野的各个位置里:

           如标定板出现在视野中的左边,右边,上边和下边,标定板既有倾斜的,也有水平的,。

           界面中的x:表示标定板在视野中的左右位置。

                         y:表示标定板在视野中的上下位置。

                    size:标定板在占视野的尺寸大小,也可以理解为标定板离摄像头的远近。

                    skew:标定板在视野中的倾斜位置。

    还要有棋盘占住大部分视野的图片,如下图所示:

    按着上述方式不断移动标定板,直到CALIBRATE按钮变亮,点击该按钮就会进行标定。标定过程将持续一两分钟,并且标定界面会变成灰色,无法进行操作,耐心等待即可。

           标定完成以后,你将看到如下图所示的窗口,窗口中的图像为标定后的结果,纠正了畸变

    并且,摄像机的各个参数会出现在标定程序的终端窗口中,如下:

    如果对标定结果满意,点击COMMIT按钮将结果保存到默认文件夹,在usb_cam窗口中可以看到如下信息,说明标定结果已经保存在相应文件夹下下次启动usb_cam节点时,会自动调用。

    但是在light-wings目录下看不到.ros文件,只能用命令行模式复制出来

    cd .ros/camera_info/
    cp head_camera.yaml ../../
    

     

    在light-wings目录下就能看到这个文件

    标定后的文件格式需要转化成ORB-slam2的yaml文件才能被ros使用

  • 相关阅读:
    mac上eclipse上运行word count
    利用hadoop自带程序运行wordcount
    mac上eclipse上配置hadoop
    在mac上安装hadoop伪分布式
    0到N数其中三个数的全排列
    【设计模式】【应用】使用模板方法设计模式、策略模式 处理DAO中的增删改查
    【设计模式】【行为型模式】策略模式
    【设计模式】【行为型模式】模板模式
    properties文件操作
    File相关操作
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/7692740.html
Copyright © 2011-2022 走看看