小高技术网-免费分享创业技术、为农村创业者服务!
当前位置: 小高技术网 > 技术常识5>正文

相机标定时,得到的相机内参数的主要作用是(camera raw 镜头校正)

2023-05-28 10:20:01 技术常识5 每日一条
近期不少网友都在问:相机标定时,得到的相机内参数的主要作用是(camera raw 镜头校正),小编也是查阅很多资料,整理了一些相关方面的答案,大家可以参考一下,

【温馨提示】本文共有674个字,预计阅读完需要2分钟,请仔细阅读哦!


上一篇说了相机参数标定的数学推导,在这里,开头先说下一般相机标定的方法。然后介绍用pythonopencv进行图片拼接过程。


1.相机参数标定过程

在opencv库里也提供了相机标定方法(Camera Calibration — OpenCV.[1]):用一块国际象棋的棋板,在镜头前面不断转动,这是为了图.1里的第一个刚体变换。借此来生成不同参数,构成多个方程来解开参数。


(这里我用Ubuntu写的,标点就成英式了)


2.特征匹配和单应性查找对象

现在从上边的公式来看,对于世界坐标里的一个点,但是在图片里的位置不一样,是因为有了刚体变换,也就是说产生了物体的旋转或是镜头位置的变化.


如果我们需要求出所有相机参数,也就是说需要世界坐标系的信息.但是,我们没空.


所以单纯从两张图片上找很多很多相同点,然后进行点的匹配.


(我要道个歉,上一篇有部分写错了,已改正,不过变量名还是用重复了,需要注意下)


所以,在找到两张图片相同点后,可以用H矩阵(Homography)进行变换.


带(')和不带(')的x,y是两张图片的对应点,H矩阵有8个未知变量


H矩阵有8个未知变量,至少需要两张图中的4个对应点,求出H矩阵后,对整张图变换,就可以了.


3.编程方法

具体看[OpenCV-Python-Toturial(有中文版)],说的特别详细. 有需要的话我可以分享到什么网盘里,一般不难找.说的是程序的事,书上基本都有.


图片来自[2]


a).程序里用了SIFT(Scale-invariant feature transform)特征提取两张图的特征点,一般是边角特征.


b).然后用knn做特征点匹配,官方代码上用了至少10个匹配点.计算时候用的就是伪逆变换.


c).需要先把图片加边,把原来图片扩展后,再乘一个单应性矩阵时,图片就不会因为经过旋转而丢失一部分. 函数用cv2.warpPerspective就行.


d).之后就是对两张图叠加,后期处理之类的了.


实验结果


上边的实验结果,第一第二张是要拼接的图,第三张是第二张进行了旋转,即应用了单应性矩阵,第四张是拼接后.单纯的从结果来看,效果很差,


原因有两点:1).检测的点太多了,因为树的枝杈,匹配度太高,使得很多不一样的点被分类成了相同点; 2).最重要的是这是我拍的视频,当时在走动,根据上边的式子,它是没有深度(距离)信息的.在边往前走,边左转,就造成了合成照片越靠右侧出现越大误差.


下回预告:


下一篇,还是这个理论,试着说明怎么分析人脸朝向,这里需要用到另外一个库文件dlib.


References:


[1].https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_calib3d/py_calibration/py_calibration.html


[2].https://docs.opencv.org/3.0-beta/doc/py_tutorials/


相机标定算法(相机参数标定(camera calibration)推导过程(1))

展讯CTS Verifier test camera FOV Calibration测试fail解决办法


内容更新时间(UpDate): 2023年06月08日 星期四

版权保护: 【本文标题和链接】相机标定时,得到的相机内参数的主要作用是(camera raw 镜头校正) http://www.youmengdaxiazuofa.net/longxia8/125587.html






















你的评论更有价值!!!
  • 全部评论(0
    还没有评论,快来抢沙发吧!
博客主人百科博主
女,免费分享各种生活、电商知识、百科常识。
  • 文章总数
  • 100W+访问次数
  • 建站天数
  • {/dede:arclist}