基于python的opencv相机标定(采用黑白棋盘格标定板)

本文介绍了使用Python和OpenCV进行相机标定的过程,特别是通过黑白棋盘格标定板。文章强调了拍摄标定图片的质量要求,包括相机距离、焦距、环境光线、拍摄角度和图片数量。还详细讲解了提取棋盘格角点的步骤,涉及findChessboardCorners和find4QuadCornerSubpix函数,并提供了标定相机的代码片段。
摘要由CSDN通过智能技术生成

基于python的相机标定(采用黑白棋盘格图片)

系列文章目录

[第一章 基于python的相机标定(采用黑白棋盘格图片)](https://blog.csdn.net/HWHXXX/article/details/119905200)


前言

工业相机在正常使用前需要进行相机标定,得出相机的内参矩阵与畸变系数。


一、准备标定用的图片

在标定之前,需要用待标定的相机拍摄用于标定相机的图片。
拍摄照片的质量一定程度上影响相机标定的效果,所以拍摄时一定要注意拍摄角度与环境光亮度。
1:在确定好标定板与相机之间的距离之后,对相机进行调焦,使得相机可以看清标定板。在调好焦之后就不能再次对相机进行调焦了。若再次调焦,则需重新进行相机标定。
2:环境光的补充,要使标定板尽量亮起来,如果太过灰暗,会影响拍摄照片的质量。
3:拍摄照片的角度,尽量让标定板出现在照片的每个区域(个人将图片区域划分为5个,如图1所示),然后在每个区域内标定板也可以垂直于相机拍摄,前倾,后倾,左倾,右倾等角度都可以拍摄,但需注意在每个区域内拍摄角度应保持均匀(不均匀的话个人认为会略微影响标定结果)。
图1
图1 个人划分的5个区域
4:拍摄照片需尽量清晰,即拍摄过程中如果为手持标定板拍摄,拿稳了,别抖。
5:拍摄照片总数量,在保证每个拍摄角度拍摄数量均匀的情况下,总数量应该为5的倍数,可以是15,20,25张等等。总量多少没关系的。

二、提取照片中棋盘格的角点

1.载入需要用的库

import cv2 as cv
import numpy as np
import time
import os

2.读取图片并提取角点

    w = 12  # 棋盘格角点每行数量
    h = 9  # 棋盘格角点每列数量
    # 生成棋盘格三维坐标
    obj_points = np.zeros(((w*h), 3)
  • 3
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python Opencv 是一个在计机视觉领域非常流行的开源库,可以用于处理图像和视频数据。相机标定是计机视觉中的一个重要任务,它是为了将相机的内部参数和外部参数估计出来,以便在后续的图像处理中产生更准确的结果。 在CSDN上有很多关于Python Opencv 相机标定的教程和资源可供学习。在这些资源中,通常会涵盖以下步骤: 1. 收集标定板图像:首先,需要准备一张已知大小的标定板,并用相机拍摄多张不同角度和位置的图像。 2. 提取角点:使用Opencv中的角点检测法,如Harris角点检测法或亚像素角点检测法,从标定板图像中提取角点。 3. 标定相机:根据标定板的已知尺寸和提取到的角点信息,使用Opencv中的相机标定函数,例如calibrateCamera函数,对相机进行标定。这将估计出相机的内部参数(焦距、主点位置等)和外部参数(旋转和平移向量)。 4. 验证标定结果:将已标定的相机应用于新的图像,可以通过计重投影误差来验证标定结果的准确性。重投影误差是通过将三维点投影回二维平面上,并与实际提取到的角点进行比较来计的。 5. 应用相机标定:标定完成后,可以将标定参数用于相机姿态估计、物体检测、图像校正等各种计机视觉任务中。 总之,Python Opencv 相机标定是一个重要的计机视觉任务,可以通过CSDN上的教程和资源学习和实践。这将帮助我们更好地理解相机参数的估计和应用,从而提高图像处理和计机视觉应用的准确性和效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值