海康威视工业相机与livox avia雷达联合外参标定

接上一条博客,完成了内参标定后,接下来就是要进行外参标定。我使用的方法是港大mars实验室的不需要标定板的标定方法。

github地址在此:

https://github.com/hku-mars/livox_camera_calib

要安装这个工具包需要安装livox_ros_driver(livox激光雷达ros驱动)和livox_SDK(livox开发工具),因为我之前跑过fast-livo的算法,所以不需要重复安装,大家想看安装ros驱动和livox_sdk的教程的话可以移步这里:

hku-mars/FAST-LIVO: A Fast and Tightly-coupled Sparse-Direct LiDAR-Inertial-Visual Odometry (LIVO). (github.com)

安装livox_camera_calib时要注意

这里遇到的问题一般都能在网上找到答案,不再进行赘述,报错的时候注意看报错信息,根据报错信息上网找答案,提示的一个点是安装各种包的时候最好不要装太新的,这个开源算法已经有一段时间了,如果装最新的包有可能会不适配,希望大家都能顺利跑通作者给的示例数据。

跑通示例数据之后接下来就可以跑自己的数据。

首先使用

rosbag record /livox/lidar /自己的相机的话题名称

录制约20秒自己的激光雷达和相机图像的包

然后使用

roslaunch livox_camera_calib bag_to_pcd.launch

把bag内的激光点云信息处理出来,这里注意不能用一般的方法将bag变成很多个pcd文件,这样是不行的,每个pcd只有一帧激光点云信息,我的建议是使用这个作者已经写好的bag_to_pcd,这样才能够进行后续的标定工作。

然后在录制的bag的同级目录下新建一个py文件,复制以下代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Copyright 2016 Massachusetts Institute of Technology
# Extract images from a rosbag.

import os
import argparse
import cv2

import rosbag
from sensor_msgs.msg import Image
from cv_bridge import CvBridge

def main():
    """Extract a folder of images from a rosbag.
    """
    parser = argparse.ArgumentParser(description="Extract images from a ROS bag.")
    parser.add_argument("bag_file", help="Input ROS bag.")
    parser.add_argument("output_dir", help="Output directory.")
    parser.add_argument("image_topic", help="Image topic.")

    args = parser.parse_args()

    print "Extract images from %s on topic %s into %s" % (args.bag_file,
                                                          args.image_topic, args.output_dir)

    bag = rosbag.Bag(args.bag_file, "r")
    bridge = CvBridge()
    count = 0
    for topic, msg, t in bag.read_messages(topics=[args.image_topic]):
        cv_img = bridge.imgmsg_to_cv2(msg, desired_encoding="passthrough")

        cv2.imwrite(os.path.join(args.output_dir, "frame%06i.png" % count), cv_img)
        print "Wrote image %i" % count

        count += 1

    bag.close()

    return

if __name__ == '__main__':
    main()

这个py文件可以将bag里面的图像解出来。

运行

rosbag info xxx_1.bag 
# bag topic name info (查看bag中topic的信息)
python bag_to_image.py xxx_1.bag xxx_2 /topic_name
# xxx_1.bag: bag name(包的名字), xxx_2: floder name(提取图片放置的文件夹名字), topic_name: bag tpoic name(话题名字) 
# example
python bag_to_image.py image_1.bag image /camera/color/image_raw

把图像从bag中解出来之后就可以开始标定了,在config文件夹里面找到相应的yaml文件,把自己的文件路径改好。

roslaunch livox_camera_calib calib.launch

标定的过程会比较长,(也有可能是我的电脑太辣鸡)。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
海康威视工业相机标定可以使用不同的方法。根据引用\[2\]中的描述,常用的标定方式有三种:利用Matlab的cameraCalibrator工具箱、利用OpenCV的工具、利用ROS包。其中,引用\[2\]中提到的方法是使用Matlab的cameraCalibrator工具箱进行标定。这种方法可以得到相机的内参矩阵K,包括焦距和光心的坐标,以及畸变参数。标定的结果可以用于相机去畸变和获取视觉标签的三维位置。 相机去畸变是指使用OpenCV自带的方法对相机图像进行畸变校正。根据引用\[2\]中的描述,可以使用知乎上的方法进行相机去畸变操作。这样可以得到去畸变后的图像,以及相机的内参信息。 获取视觉标签的三维位置可以使用Apritag_ros这个ROS包。根据引用\[2\]中的描述,Apritag_ros可以订阅相机发布的图像话题和相机信息话题,然后发布视觉标签的位姿信息话题和在原图上标出视觉标签的图像话题。通过使用Apritag_ros,可以获得视觉标签的三维位置。 总结来说,海康威视工业相机标定可以使用Matlab的cameraCalibrator工具箱,相机去畸变可以使用OpenCV的方法,获取视觉标签的三维位置可以使用Apritag_ros这个ROS包。这些方法可以帮助您进行海康威视工业相机标定和应用。 #### 引用[.reference_title] - *1* *3* [工业互联网(二)——VS(C#)调用海康工业相机SDK采集图像及基本功能设定](https://blog.csdn.net/lvjiyang/article/details/107017152)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [海康威视相机标定、畸变矫正及AprilTag获取视觉标签三维信息](https://blog.csdn.net/qq_41565426/article/details/121644165)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值