IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 图像拼接步骤(一)——相机标定 -> 正文阅读

[人工智能]图像拼接步骤(一)——相机标定

前言

图像拼接技术中,有如下几个关键的步骤:
相机标定,预处理操作(畸变矫正、滤波),图像投影变换、图像配准(特征点提取及匹配)图像拼接(几何变换)、图像融合、亮度与颜色的均衡处理等。

什么是相机标定

相机标定简单来说是根据相机的几何模型求最终的投影矩阵的过程(从世界坐标系换到像素坐标系),也就是求解内外参以及畸变参数的过程。

为什么要进行相机标定

在图像拼接中,良好的相机标定是拼接的基础,标定结果影响拼接效果的好坏。(希望能在图像拼接中,免去物理偏差造成的影响)

标定参数

标定参数包括:内参、外参以及畸变参数

1.外参数矩阵:在两幅图的图像拼接中,外参矩阵可描述两幅图像之间的旋转平移关系。
2.内参数矩阵:相机内部参数(焦距)
3.畸变参数(k1,k2,p1,p2,k3):由于透镜的存在,光线投影到成像平面会产生畸变,主要包括切向和径向畸变在这里插入图片描述

切向畸变和径向畸变

安装过程中,透镜和成像平面不平行会造成切向畸变p。
而由于透镜的先天条件(形状),会造成径向畸变(越靠近边缘,畸变就会越严重)。
径向畸变模型:
以下公式由泰勒展式得出,(因为畸变比较小,可用泰勒级数的低阶项来近似),(x,y)为理想坐标坐标(无畸变),(xdis,ydis)为校正前坐标(有畸变)在这里插入图片描述
切向畸变模型:在这里插入图片描述
因此同时包含切向和径向的畸变模型:
在这里插入图片描述

枕形畸变和桶形畸变

径向畸变又包含如下两种。

桶形畸变:因为镜头中央的放大倍率大于边缘的放大倍数,大多出现这种畸变的镜头是广角镜头,牺牲直线投影来得到更宽的视野。

枕形畸变:由于镜头边缘的放大倍率大于中心的放大倍数引起,朝着中心弯曲,倾向于出现在变焦镜头的较长焦距端。

在这里插入图片描述由此,当我们得到标定的畸变参数后,反演补偿即可对相机进行校正。而校正的过程就将相当于将扭曲的曲线变回到直线的过程


补充:
图像畸变校正算法有着重复性和数据并行性,所以采用FPGA来加速是一种很好的方式,另外该算法实质上也是进行像素操作,从曲线变成直线,就容易出现像素丢失等现象,因此需要引入插值算法来进行填充。(FPGA实现校正的时候,希望将畸变图像从存储器中读取,然后根据畸变参数进行校正,校正后的图像存储在输出端的存储器中,最终送到显示器显示)

如何进行相机标定

采用Matlab进行标定
方法:
打印一张标定棋盘格图片,并将其贴在一个平面上,作为标定物。
通过调整标定物或摄像机的方向,为标定物拍摄一些不同方向的照片。
利用棋盘格角点,估算内外以及畸变参数。

步骤如下(以单目相机校准为例):
1、标定棋盘格的获取
在matlab命令行输入,并等待

open checkerboardPattern.pdf

在这里插入图片描述
2、将棋盘格固定,后用相机拍摄,得到不同方向的照片。
3、把拍摄的图片存放在特定文件夹下,比如D:\matlab\toolbox\vision\visiondata\calibration\myself
点击Add images添加所拍摄的图片在这里插入图片描述
4、自动跳转到标定板的规格选择界面:棋盘格中一个格子的尺寸,默认为25mm×25mm,需要根据自己所用棋盘格图案的实际尺寸来调节,必须和实际长度相同。在这里插入图片描述
5、添加完成后会出现检测结果,如下图所示,总图像10张,失败1张。添加失败的原因可能是图像较远无法清晰识别出棋盘格,单击view images可查看为被添加进去的图像。在这里插入图片描述
6、普通相机选择Standard模式,鱼眼相机选择Fisheye模式在这里插入图片描述
7、参数选项
径向畸变(即Radial Distortion下选择3个系数Coefficients)
勾选Skew(歪斜)(倾斜因子很小,也可以不考虑)
切向畸变(Tangential Distortior)
在这里插入图片描述
8、单击Calibrate进行标定在这里插入图片描述
9、右上角:重投影误差(平均误差小于0.5像素即可)
右下角:可切换视图(以相机为中心或以图像为中心),相当于每次拍摄照片相对于相机的位置,也就是相机的外参。在这里插入图片描述
10、点击“Export Camera Parameters”,输出相机参数到matlab命令窗口
在这里插入图片描述
得到如下的结果:在这里插入图片描述
11、命令行键入如下可直接得到相机内参矩阵

cameraParams.IntrinsicMatrix 

在这里插入图片描述
命令行键入如下可得到径向畸变参数

 cameraParams.RadialDistortion 

在工作区也可以查看相应的参数

在这里插入图片描述
双目标定和单目标定相同,只是需要输入左右相机的图片。

有了旋转矩阵,平移向量以及畸变参数,可以得到输出像素与输入像素之间的对应关系。


根据畸变参数如何采用FPGA进行图像校正

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-24 09:26:47  更:2022-04-24 09:27:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 9:32:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码