• Halcon 单相机标定+消除径向畸变


    单相机标定通常是相机使用的第一步,只有通过标定才能准确的获得相机的内参,以便于进行消除畸变、1D/2D测量等后续操作。

    1、生成标定板描述文件

    gen_caltab (7, 7, 0.0125, 0.5, 'caltab.descr', 'caltab.ps')

    参数含义可以查手册(f1),运行后会在当前目录下生成两个文件: caltab.descr:标定板描述文件用于接下来的标定 caltab.ps:可用于打印标定板

    2、标定助手

    1)、描述文件选择刚刚生成的 2)、选择全标定,相元的高、宽可以咨询相机的商家询问,焦距可以查看镜头上,一般有标明,这里的参数只是初始参数。 3)、标定栏,选择采集助手,点实时,有两种合格的状态提示(确定是完美品质,品质有问题不耽误使用),失败一般是没有完全覆盖标定板。 4)、点采集20张左右的图片,尽量覆盖整个视场,覆盖所有角度(3d)。 5)、选择一张图片作为基础参考位姿。 6)、可以保存图片,如果标定后续有可能利用标定助手生成的代码进行标定可以用。失败的图片要移除,否则无法标定。 7)、点击标定,可以看到结果栏的内外参结果,可以保存成文件。用的时候可以直接读取进程序使用。 8)、在代码生成栏,可以插入tuple数据,也可以插入标定代码。

    3、实例:单相机标定+消除径向畸变

    * 标定 + 消除径向畸变
    * Calibration 01: Code generated by Calibration 01
    CameraParameters := [0.0057932,-11394.5,6.00136e-006,6e-006,330.616,235.876,640,480]
    CameraPose := [0.00223981,-0.00965318,0.110595,6.81103,1.68414,177.246,0]
    
    * Image Acquisition 01: Code generated by Image Acquisition 01
    change_radial_distortion_cam_par ('adaptive', CameraParameters, 0, CamParamOut)
    open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', '[0] LRCP  USB2.0', 0, -1, AcqHandle)
    grab_image_start (AcqHandle, -1)
    while (true)
        grab_image_async (Image, AcqHandle, -1)
        * Image Acquisition 01: Do something
        gen_radial_distortion_map (Map, CameraParameters, CamParamOut, 'bilinear')
        map_image (Image, Map, ImageMapped)
    endwhile
    close_framegrabber (AcqHandle)
    本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    feign.RetryableException: Read timed out
    字段重复性校验
    时间的问题总结
    Maven使用mvn命令生成一个spring mvc的web项目
    Mac OS安装brew
    Docker部署Web应用到Tomcat
    Docker安装使用Oracle 11g
    Python 修改AD密码
    Let's Encrypt 证书 wget 报错
    dedecms获取指定栏目下的文章数量
  • 原文地址:https://www.cnblogs.com/yamboo/p/13889539.html
Copyright © 2020-2023  润新知