• 单目摄像头标定与测距


    单目摄像头标定与测距

    一、 标定

        首先要对摄像头做标定,具体的公式推导在learning opencv中有详细的解释,这里顺带提一句,这本书虽然确实老,但有些理论、算法类的东西里面还是讲的很不错的,必要的时候可以去看看。

    1.单目摄像头标定

    标定的目的是为了消除畸变以及得到内外参数矩阵,内参数矩阵可以理解为焦距相关,它是一个从平面到像素的转换,焦距不变它就不变,所以确定以后就可以重复使用,而外参数矩阵反映的是摄像机坐标系与世界坐标系的转换,至于畸变参数,一般也包含在内参数矩阵中。从作用上来看,内参数矩阵是为了得到镜头的信息,并消除畸变,使得到的图像更为准确,外参数矩阵是为了得到相机相对于世界坐标的联系,是为了最终的测距。

    关于畸变,大家可以看到自己摄像头的拍摄的画面,在看矩形物体的时候,边角处会有明显的畸变现象,而矫正的目的就是修复这个。

    知道双目测距的时候两个相机需要平行放置,但事实上这个是很难做到的,所以就需要立体校正得到两个相机之间的旋转平移矩阵,也就是外参数矩阵。

    2.如何做摄像头的在线标定?

     

     

     

     二.单目测距原理

    将使用相似三角形来计算相机到一个已知的物体或者目标的距离。 相似三角形就是
    这么一回事:假设有一个宽度为 W 的目标或者物体。然后将这个目标放在距离
    的相机为 D 的位置。用相机对物体进行拍照并且测量物体的像素宽度 P 。这样就得
    出了相机焦距的公式:F = (P x D) / W

    举个例子,假设我在离相机距离 D = 24 英寸的地方放一张标准的 8.5 x 11 英寸 A4 纸
    (横着放;W = 11)并且拍下一张照片。我测量出照片中 A4 纸的像素宽度为 P = 249 像素。 因此我的焦距 F 是: F = (248px x 24in) / 11in = 543.45

    当我继续将我的相机移动靠近或者离远物体或者目标时,我可以用相似三角形来计算出物体离相机的距离:D’ = (W x F) / P 从以上的解释中,可以看到,要想得到距离,就要知道摄像头的焦距和目标物体的大小,这两个已知条件根据公式:D’ = (W x F) / P 

    得出目标到摄像机的距离D,其中P是指像素距离,W是A4纸的宽度,F是摄像机焦距。

  • 相关阅读:
    很好的文章解释了Windows空连接
    python,Django安装在windows上
    无Admin权限安装python 嵌入版本和PIP,并安装Django
    DNVideoXLib研究
    基于u2net和OpenCV的人像背景替换
    基于EasyDL的人像背景替换
    VS2015 搭建 Asp.net core 开发环境
    WebForm的FileUpload控件实现选择完图片并直接上传
    WebForm使用FileUpload控件上传附件功能实现
    Oracle 调用存储过程执行动态SQL语句(无参)
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/12905005.html
Copyright © 2020-2023  润新知