相机标定:靶标

在线结构光传感器标定过程中,标定靶物的特点在很大程度上影响了标定方法的选用。首先,不同标定靶物外形提供的几何约束确定了不同的控制点提取方法;其次,标定靶物自身的制造精度和表面反光特性也直接影响传感器的标定精度。

用线结构光传感器标定靶物的种类有哪些?影响标定精度的影响因素有哪些?如何进行标定精度评定?

标定靶物分类

如下表所示,第一列为序号,第二、三列包含了标定靶物名称及其对应缩略图,第四列列出标定靶物的类型,第五列总结了标定靶物的加工工艺,第六列介绍了标定靶物的标定特点。

表1 常用标定靶物列

由表1可知,目前标定靶物主要可分为三维靶标、二维靶标以及一维靶标。对于三维靶标,通常利用高精度运动装置或者借助靶标自身提供的三维约束在单幅视图下完成光平面标定。但由于三维标定靶标的高精度制造相对困难,应用受到一定限制。二维靶标和一维靶标通常可以在自由移动情况下完成传感器标定,操作简便、适合现场标定。

需要强调的是,在表1所列的标定靶物的种类中,棋盘格靶标易于获取、操作方便,是目前使用最广泛的标定靶物;华南理工大学的邝泳聪等人提出的线纹尺靶标是小视场范围内标定精度最高的靶标;北京航空航天大学的周富强等提出的一维靶标可以实现线结构光传感器的高精度大视场现场在线标定。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是圆形非对称靶标相机标定的Python代码,代码中有详细的注释说明: ```python import numpy as np import cv2 # 定义圆形非对称靶标的行列数和每个小格子的大小 rows = 6 cols = 9 square_size = 20 # 单位为毫米 # 生成标定板角点的世界坐标系坐标 objp = np.zeros((rows * cols, 3), np.float32) objp[:, :2] = np.mgrid[0:cols, 0:rows].T.reshape(-1, 2) * square_size # 存储所有的角点坐标 objpoints = [] # 世界坐标系中的坐标 imgpoints = [] # 图像坐标系中的坐标 # 读取所有标定图片并提取角点坐标 images = glob.glob('calibration_images/*.jpg') for fname in images: img = cv2.imread(fname) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 查找角点 ret, corners = cv2.findCirclesGrid(gray, (cols, rows), flags=cv2.CALIB_CB_ASYMMETRIC_GRID) # 如果找到了角点,则添加到objpoints和imgpoints中 if ret == True: objpoints.append(objp) imgpoints.append(corners) # 在图像上绘制角点 cv2.drawChessboardCorners(img, (cols, rows), corners, ret) cv2.imshow('img', img) cv2.waitKey(500) cv2.destroyAllWindows() # 进行相机标定 ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(objpoints, imgpoints, gray.shape[::-1], None, None) # 打印标定结果 print("相机内参矩阵:\n", mtx) print("畸变系数:\n", dist) # 校正图像 img = cv2.imread('calibration_images/test_image.jpg') h, w = img.shape[:2] newcameramtx, roi = cv2.getOptimalNewCameraMatrix(mtx, dist, (w, h), 1, (w, h)) dst = cv2.undistort(img, mtx, dist, None, newcameramtx) # 显示校正前后的图像 cv2.imshow('original', img) cv2.imshow('corrected', dst) cv2.waitKey(0) cv2.destroyAllWindows() ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值