分享好友 最新动态首页 最新动态分类 切换频道
相机标定+鸟瞰图生成(VS2017+OpenCV)透视手机「相机标定+鸟瞰图生成(VS2017+OpenCV)」
2025-02-24 17:27

1.用自己的手机采集棋盘板定标数据;

2.实现或调用 角点检测、局部特征提取、局部特征匹配算法,标定自己手机的内参;

3.改变外参,生成不同视角的新图像。

  1. 棋盘准备。
  2. 拍摄图片。用自己的手机多角度拍摄已经准备好的棋盘,共12张图片。放入pic文件夹,按序号命名:testxx.jpg。
  3. 测量数据。

A.标定板上每个棋盘格的大小:30mmx30mm

B.棋盘角点的行数和列数:9x6

  1. 安装好OpenCV,在VS2017中建立一个新的VC++空项目。

(1)角点检测:

  • 角点就是极值点,即在某方面属性特别突出的点。角点可以是两条线的交叉处,也可以是位于相邻的两个主要方向不同的事物上的点。
  • 角点是图像很重要的特征,对图像图形的理解和分析有很重要的作用。角点在保留图像图形重要特征的同时,可以有效地减少信息的数据量,有利于图像的可靠匹配。
  • 目前的角点检测算法可归纳为3类:基于灰度图像的角点检测、基于二值图像的角点检测、基于轮廓曲线的角点检测。
  • 本次实验中使用的是OpenCV提供的专用于棋盘相机标定的提取棋盘角点的API。但是角点检测函数返回的值是像素整数坐标,为了使得到的角点坐标更精确,还用到了基于灰度图像的亚像素化角点的API,可以得到浮点型坐标。

(2)相机标定:

  • 为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。
  • 传统相机标定法需要使用尺寸已知的标定物,通过建立标定物上坐标已知的点与其图像点之间的对应,利用一定的算法获得相机模型的内外参数。平面型标定物比三维标定物制作简单,精度易保证,但标定时必须采用两幅或两幅以上的图像。本次实验选择棋盘,并采集2张以上图像。
  • 空间物体表面某点的三维几何位置与其在图像中对应点之间的关系:关于坐标系转换更详细的解释

3)透镜畸变:

透镜由于制造精度以及组装工艺的偏差会引入畸变,导致原始图像的失真。镜头的畸变分为径向畸变和切向畸变两类。


  • 径向畸变就是沿着透镜半径方向分布的畸变,产生原因是光线在原理透镜中心的地方比靠近中心的地方更加弯曲。 成像仪光轴中心的畸变为0,沿着镜头半径方向向边缘移动,畸变越来越严重。畸变的数学模型可以用主点(principle point)周围的泰勒级数展开式的前几项进行描述,通常使用前两项,即k1和k2,对于畸变很大的镜头,可以增加使用第三项k3。

  • 切向畸变是由于透镜本身与相机传感器平面(成像平面)或图像平面不平行而产生的,这种情况多是由于透镜被粘贴到镜头模组上的安装偏差导致。畸变模型可以用两个额外的参数p1和p2来描述:

4)透视变换:

透视变换矩阵变换公式为:

这是一个从二维空间变换到三维空间的转换,因为图像在二维平面,故除以Z,  (X';Y';Z')表示图像上的点:

令a33=1, 展开上面公式,得到一个点的情况:4个点可以得到8个方程,即可解出透视变换矩阵A。

(5)鸟瞰图生成原理:

  • 摄像机斜视拍摄一物体后,形成的图像会发生变形,如果将图像映射到拍摄物体平面上,相当于将相机垂直于拍摄平面,这样就会得到图像的真实形状。由于这种映射相当于将原图重新透视到另一个平面,这种称之为“重投影”。
  • 鸟瞰图的本质就是将图像平面中的信息“重投影”到地平面上,所以,首先要获取两个平面间的投影变换关系H。在程序中,是通过在地平面上放置标定板图像,然后获得地平面上棋盘格图像上四个顶点的坐标(0,0),(widht-1,0),(0,height -1),(wdith-1,height-1);同时,在拍摄的图像平面提取角点,并获得与地平面上四个点对应的角点在图像空间中的坐标值,通过四个坐标点间的对应关系,基于getPerspectiveTransform()函数,获得地平面到图像平面间的投影变换关系H;最后,通过warpPerspective()函数对图像进行逆向映射到地平面空间中。

(1)读取图片

Mat imageInput = imread (addInexToName (image_index, "pic", ".jpg"));

(2)准备相机标定参数

(1)图像的亚像素角点

  A.提取角点

Size board_size = Size (9, 6);    //棋盘标定板上每行、列的角点数

vector<Point2f> image_corners;  // 每幅图像上检测到的角点数组

最新文章
手机欠费能收到快递吗(手机欠费能接收到快递信息吗)手机欠费能收到短信吗「手机欠费能收到快递吗(手机欠费能接收到快递信息吗)」
手机欠费能收到快递*吗?(快递到了手机停机了怎么办?)手机欠费未被停机的情况下不影响您打电话、上网和收发短信功能,但若已经停机了就不能再进行上网、打电话和收发短信,需把费用缴清后方可恢复。所以尽量让你的手机处于有费用的状态,
相机标定+鸟瞰图生成(VS2017+OpenCV)透视手机「相机标定+鸟瞰图生成(VS2017+OpenCV)」
1.用自己的手机采集棋盘板定标数据; 2.实现或调用 角点检测、局部特征提取、局部特征匹配算法,标定自己手机的内参; 3.改变外参,生成不同视角的新图像。棋盘准备。 拍摄图片。用自己的手机多角度拍摄已经准备好的棋盘,共12张图片。放入
车载蓝牙连接了放音乐没有声音怎么回事?蓝牙连上汽车但是音乐放不出来咋办手机连接车载蓝牙放歌没有声音「车载蓝牙连接了放音乐没有声音怎么回事?蓝牙连上汽车但是音乐放不出来咋办」
车载蓝牙连接上了播放音乐没有声音,可能是音量没有调节好,或者是车辆的扬声器出现故障了,具体的情况如下:1、手机处于静音模式中,这样会导致车辆上播放的音乐没有声音,解决办法是将手机音量调到适中;2、车载导航上蓝牙设置的音量为0
快算计算器计算器下载手机版「快算计算器」
快算计算器是一款可以给大家带来更多便利的计算器软件,这里有着非常全面的计算功能,强大的快算效果,可以让大家可以给大家节省了很多的时间。使用起来非常的方便,没有什么操作的难度,各种计算功能都是免费使用的。1.历史记录功能,完整
三款超大电池手机推荐,告别续航焦虑你准备好了吗?大电池手机「三款超大电池手机推荐,告别续航焦虑你准备好了吗?」
随着科技的不断进步,智能手机已经成为我们日常生活中不可或缺的一部分。然而,随之而来的"续航焦虑"问题却始终令人头疼。手机电量不足,可能会错过重要通讯,或者在关键时刻无法使用。为了应对这一问题,各大手机厂商纷纷提高电池容量和充
华为手机换原装电池多少钱?华为手机换电池多少钱「华为手机换原装电池多少钱?」
其实,换电池有很多渠道,可以选择去售后换,也可以选择自己动手换,不过建议大家最好是去售后更换,因为更加有保障一些。像去售后换的话,一般电池也就在几十块不等,下面以荣耀V10为例,看去售后换电池到底需要多少钱。荣耀V10换电池价格
余承东:华为手机高端让给了苹果,中低端让给了OV小米高端手机「余承东:华为手机高端让给了苹果,中低端让给了OV小米」
华为消费者业务 CEO 余承东在社交媒体发文称,美国对华为的制裁将华为消费者业务逼上了极端困境,无法发货。华为的高端产品主要让给了苹果,国内市场中低端则让给了 OPPO、vivo 和小米。余承东今天转发了名为《跌倒华为,吃饱苹果》的文章
手机充电突然变很慢是什么问题手机充电慢是什么原因「手机充电突然变很慢是什么问题」
手机充电突然变很慢可能是充电插头、充电线、充电温度和灰尘外因导致,也可能是充电过程中发现充电变慢可能是进入到涓流充电阶段,如果不是以上原因则有可能是由于手机电路或者电池出现故障。详细介绍如下:1、充电插头;给设备充电要选对
小米手机屏幕坏了怎么导出数据小米手机备份「小米手机屏幕坏了怎么导出数据」
二、小米手机屏幕损坏的解决方法 小米手机屏幕损坏后,我们可以采取以下解决方法:1.自行更换屏幕如果我们具备一定的维修技能,可以自行更换屏幕。在更换之前,需要购买原装屏幕和维修工具,并仔细阅读屏幕更换的教程。需要注意的是,在更
相关文章
推荐文章
发表评论
0评