为什么历史上对中国神话历史没有一个系统的记录

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
摄像机标定若干问题的研究
下载积分:1998
内容提示:摄像机标定若干问题的研究
文档格式:PDF|
浏览次数:17|
上传日期: 12:44:54|
文档星级:
全文阅读已结束,如果下载本文需要使用
 1998 积分
下载此文档
该用户还上传了这些文档
摄像机标定若干问题的研究
官方公共微信君,已阅读到文档的结尾了呢~~
基于数字图像处理的滤棒沟槽检测技术的研究与实现检测,研究,基于,图像处理与,图像处理,沟槽滤棒,技术研究,和测量,图像处理的,检测技术
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
基于数字图像处理的滤棒沟槽检测技术的研究与实现
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口posts - 74,&
comments - 35,&
trackbacks - 0
之前做过摄像机标定的研究,不过现在忘了好多,昨天下午又捡起来,好好复习一下(主要是学习opencv一书内容)。
摄像机标定基本知识:
摄像机标定误差包括内参(4个)、畸变参数(径向和切向共5个)、外参(平移和旋转共6个)。
误差参数分析:摄像机模型采用针孔模型成像模型,由于中心轴安装问题,这就造成了精度误差,就是所谓的相机内参数误差,使用一个3X3的矩阵表示(A) [fx 0 0 0 0 1].,有四个未知参数;另由于针孔成像采光效率不高,使用了透镜,这就造成的畸变误差:
径向畸变:这是由于透镜先天条件原因(透镜形状),成像仪中心(光学中心)的畸变为0,随着向边缘移动,畸变越厉害。这里有3个参数,k1,k2,k3其中k3是可选参数。
切向畸变:这是摄像机安装过程造成的,如当透镜不完全平行于图像平面的时候产生的。
旋转和平移主要针对外参数,旋转3个角度和平移3个方向6个参数。
棋盘就不介绍了。主要是提取角点,便于后面计算,opencv函数都有函数。书上p423有原理介绍,感兴趣的朋友可以参考书上内容。
opencv实现过程及主要函数介绍:
1.首先获得数据源(视频或图像),我读取的一段自己录的视频;
2.初始化单帧棋盘数据,如6X4,并对棋盘操作提取角点;
用到的函数说明:&
CVAPI(int) cvFindChessboardCorners( const void* image, CvSize pattern_size,
CvPoint2D32f* corners,
int* corner_count CV_DEFAULT(NULL),
int flags CV_DEFAULT(CV_CALIB_CB_ADAPTIVE_THRESH+CV_CALIB_CB_NORMALIZE_IMAGE) );
这个函数式找到内角点位置:
输入的棋盘图,必须是8位的灰度或者彩色图像。
pattern_size
棋盘图中每行和每列角点的个数。
检测到的角点
corner_count
输出,角点的个数。如果不是NULL,函数将检测到的角点的个数存储于此变量。
各种操作标志,可以是0或者下面值的组合:
CV_CALIB_CB_ADAPTIVE_THRESH - 使用自适应阈值(通过平均图像亮度计算得到)将图像转换为黑白图,而不是一个固定的阈值。
CV_CALIB_CB_NORMALIZE_IMAGE - 在利用固定阈值或者自适应的阈值进行二值化之前,先使用cvNormalizeHist来均衡化图像亮度。
CV_CALIB_CB_FILTER_QUADS - 使用其他的准则(如轮廓面积,周长,方形形状)来去除在轮廓检测阶段检测到的错误方块。
void cvFindCornerSubPix(const CvArr* image,CvPoint2D32f* corners,int count,CvSize win,CvSize zero_zone,CvTermCriteria criteria)
函数 cvFindCornerSubPix 通过迭代来发现具有子象素精度的角点位置:
输入的图像,必须是8位的灰度或者彩色图像。
输入角点的初始坐标,也存储精确的输出坐标。
搜索窗口的一半尺寸。如果win=(5,5)那么使用(5*2+1)&(5*2+1)=11&11大小的搜索窗口
死区的一半尺寸,死区为不对搜索区的中央位置做求和运算的区域。它是用来避免自相关矩阵出现的某些可能的奇异性。当值为(-1,-1)表示没有死区。
求角点的迭代过程的终止条件。即角点位置的确定,要么迭代数大于某个设定值,或者是精确懂达到某个设定值。criteria可以是最大迭代数目,或者是设定的精确度,也可以是它们的组合。
3.摄像机标定求参数,我们目前求内参和畸变参数进行图像校正;
用到的函数说明:
void cvCalibrateCamera2( const CvMat* object_points, const CvMat* image_points, const CvMat*point_counts, CvSize image_size, CvMat* intrinsic_matrix, CvMat* distortion_coeffs, CvMat* rotation_vectors=NULL, CvMat* translation_vectors=NULL, int flags=0 );
标定函数,求摄像机内参和外参数:
object_points
定标点的世界坐标,为3xN或者Nx3的矩阵,这里N是所有视图中点的总数。
image_points
定标点的图像坐标,为2xN或者Nx2的矩阵,这里N是所有视图中点的总数。
point_counts
向量,指定不同视图里点的数目,1xM或者Mx1向量,M是视图数目。
image_size
图像大小,只用在初始化内参数时。
intrinsic_matrix
输出内参矩阵(A),如果指定CV_CALIB_USE_INTRINSIC_GUESS和(或)CV_CALIB_FIX_ASPECT_RATION,fx、 fy、 cx和cy部分或者全部必须被初始化。
distortion_coeffs
输出大小为4x1或者1x4的向量,里面为形变参数[k1, k2, p1, p2]。
rotation_vectors
输出大小为3xM或者Mx3的矩阵,里面为旋转向量(旋转矩阵的紧凑表示方式,具体参考函数cvRodrigues2)
translation_vectors
输出大小为3xM或Mx3的矩阵,里面为平移向量。
不同的标志,可以是0,或者下面值的组合:
CV_CALIB_USE_INTRINSIC_GUESS - 内参数矩阵包含fx,fy,cx和cy的初始值。否则,(cx, cy)被初始化到图像中心(这儿用到图像大小),焦距用最小平方差方式计算得到。注意,如果内部参数已知,没有必要使用这个函数,使用cvFindExtrinsicCameraParams2则可。
CV_CALIB_FIX_PRINCIPAL_POINT - 主点在全局优化过程中不变,一直在中心位置或者在其他指定的位置(当CV_CALIB_USE_INTRINSIC_GUESS设置的时候)。
CV_CALIB_FIX_ASPECT_RATIO - 优化过程中认为fx和fy中只有一个独立变量,保持比例fx/fy不变,fx/fy的值跟内参数矩阵初始化时的值一样。在这种情况下, (fx, fy)的实际初始值或者从输入内存矩阵中读取(当CV_CALIB_USE_INTRINSIC_GUESS被指定时),或者采用估计值(后者情况中fx和fy可能被设置为任意值,只有比值被使用)。
CV_CALIB_ZERO_TANGENT_DIST & 切向形变参数(p1, p2)被设置为0,其值在优化过程中保持为0。
4.矫正,利用上步求得的参数对图像进行矫正。
用到的函数说明,有两种方法进行矫正,下面都介绍一下:
a.使用cvInitUndistortMap()和cvRemap()来处理,前者用来计算畸变映射,后者把求得的映射应用到图像。
void cvInitUndistortMap( const CvMat* intrinsic_matrix, const CvMat* distortion_coeffs, CvArr* mapx, CvArr* mapy );
这个函数计算畸变映射,其中intrinsic_matrix摄像机内参数矩阵(A) [fx 0 0 0 0 1].distortion_coeffs形变系数向量[k1, k2, p1, p2,k3],大小为5x1或者1x5。mapx为x坐标的对应矩阵。mapy为y坐标的对应矩阵。
void cvRemap( const CvArr* src, CvArr* dst,const CvArr* mapx, const CvArr* mapy,int flags=CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS,CvScalar fillval=cvScalarAll(0) );
对图像进行普通几何变换,求得矫正图像:
&&&& src &&&& 输入图像. dst 输出图像. & mapx x坐标的映射 (32fC1
image). mapy y坐标的映射 (32fC1 image). flags 插值方法和以下开关选项的组合: &
CV_WARP_FILL_OUTLIERS - 填充边界外的像素. 如果输出图像的部分象素落在变换后的边界外,那么它们的值设定为 fillval。
函数cvInitUndistortMap预先计算非形变对应-正确图像的每个像素在形变图像里的坐标。这个对应可以传递给cvRemap函数(跟输入和输出图像一起)。
b.使用cvUndistort2()这个函数一次完成所有事项,不推荐。
CVAPI(void) cvUndistort2( const CvArr* src, CvArr* dst,
const CvMat* camera_matrix,
const CvMat* distortion_coeffs,
const CvMat* new_camera_matrix CV_DEFAULT(0) );
函数说明:
&&& 其中,src为输入图像,dst为输出图像.,camera_matrix摄像机内参数矩阵(A) [fx 0 0 0 0 1],distortion_coeffs形变系数向量[k1, k2, p1, p2,k3],大小为5x1或者1x5。
建议还是使用第一种算法,因为计算畸变映射是一个耗时的操作,当畸变映射不变的时候,使用第一种效率更高。
本人实验效果如下:
& & & &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
代码这里就不留了,opencv也有类似的源码,有需要的朋友留下联系方式可以发给你们,共勉!
阅读(...) 评论()503 Service Temporarily Unavailable
503 Service Temporarily Unavailable
openresty/1.9.7.4视频测速系统中的测距和摄像机标定研究_第3页-免费论文
欢迎来到网学网学习,获得大量论文和程序!
视频测速系统中的测距和摄像机标定研究
g提出的摄影测量学中的传统方法【61,A bdel―Aziz和Kara于1971年提出的直接线形变换法【7】,张正友标定法【8】,两步法【91,双平面法【lo】。&&&&因传统标定法无法适应很多环境复杂情况下的摄像机标定,人们有提出了自标定技术。&&&&目前已有的自标定技术大致可以分为以下几种:利用绝对二次曲线和极限变换性质求解Kruppa方程的摄像机自标定法【1¨、分层逐步标定法、基于二次曲面自标定法以及基于主动视觉自标定法【12’131。&&&&事实上,不论是传统的摄像机标定法,还是自标定法,都是一项需要耗费大量时间并且复杂的工作,所以在我们现实中应用时,应尽量采取节省时间的标定方法。&&&& 2 第一章引言1.3研究目的 随着我国道路交通的发展,智能交通系统正受到越来越多的人关注。&&&&当今智能交通系统的一个主要发展趋势就是采用摄像机进行视频捕捉,利用机器视觉技术对捕捉的视频进行分析运算,进而实现车辆的实时检测和测速等功能。&&&&本文研究的系统就是视频测速系统的一个测距子系统。&&&&根据前面介绍的机器视觉知识,可以知道,当前的测距技术主要是采用双目三维成像测距,单目配合激光测距等,这些方法固然有其准确性高的优点,但他们的实现方法也是复杂的,特别是他们的实现前提都是要标定摄像机,这在高速公路的野外环境要实现起来有很不现实。&&&& 因此,本论文的研究目的就是如何利用单目摄像机,快速准确地实现视频测距。&&&&为了完成测距功能,本论文利用摄像机的成像原理以及相关的转换推理,可以通过一帧图像求解出高速公路上机动车发生的位移;根据摄像机成像原理,标定好的摄像机能够将现实世界的坐标映射到图像上,利用这一点,可以解决测距中面临的道路多样性问题;在系统中加入抖动检测线程,实时检测和处理摄像机抖动问题。&&&& 可以说,完成了上述基本功能,本系统就能够简单准确地用摄像机测量高速公路上的车辆位移,并且能够适应不同的道路状况,不同的气候环境以及摄像机野外工作中面临的一些其它问题,最后还能够解决抖动带来的问题。&&&&1.4本文的工作内容及章节安排 为了能够简单准确地利用单目摄像机有效准确地进行视频测速,本文要解决车道线提取,平面间映射,道路标志线多样性以及摄像机抖动的问题。&&&&针对这一系列问题,笔者深入研究,在论文中对所做研究逐步深入,论文主要工作内容及其章节安排如下: (1)确定测距方案。&&&&课题的开始就是要确定具体采用什么方案来实现最终的测距问题。&&&&本课题前期做了大量资料收集工作,对机器视觉和摄像机标定方面知识的深入学习和研究发现,仅仅有摄像机的内外参数是无法得知视频中车辆所发生的具体位移,还需要配合额外摄像机或激光器等。&&&&也就是说只是对摄像机进行标定是无法测距的,而加入额外摄像机或激光器在本课题中亦显得不 3 第一章引言现实。&&&& 经过对具体情况的分析,笔者发现,要实现从二维的视频图像坐标中求出三维坐标中的实际距离确实是行不通的,但车辆在高速公路中位移都是在路面平面上的,也就是说车辆没有发生高低起伏的位移,利用这个特点,我们可以忽略一维高度信息。&&&&这时就变成从图像平面到道路平面的映射关系,同时没有丢失车辆在平面上发生的位移信息。&&&&只要能够求出路面上四个点在投影到图像中后的坐标,就能求解出两个平面间的映射关系矩阵,有了这个矩阵便能从图像上求解出车辆在现实路面上所发生的位移。&&&&而用于求解关系矩阵的四个点可以从车道线上提取。&&&& (2)车道线的提取问题。&&&&快速高效地提取车道线也是本文中一项重要的工作,正如前文所提到,求解平面间的映射关系矩阵坐标点可以用车道线的起点和终点。&&&&考虑到摄像机的工作环境是野外,采集到的图像比较容易受到阳光,雨水等影响,本文采用Sobel边缘提取和双动态阈值的方法把车道线从环境中分割出来,最后采取Hough算法提取直线,从而得到车道线起点和终点的坐标。&&&& (3)道路平面映射和图像平面映射实现测距问题。&&&&在利用提取的车道线求解出道路平面和图像平面映射关系的基础上,道路平面上的点已和图像平面上的像素点形成一一对应关系,并且这种关系是可逆的。&&&&因此,将道路平面坐标转换成像素为单位(在本课题中采用20像素每米),已知图像上两点坐标,将其转换为道路平面坐标,根据这种一一对应关系,可求出这两点在道路平面上的像素距离,再将像素距离转换回以米为单位的现实距离,则完成了利用平面间映射关系实现测距的方案。&&&& (4)摄像机标定参数解决测距方案道路适应性的问题。&&&&众所周知,中国高速公路状况复杂,不同区域的标准都不一样。&&&&有些地方是单虚线,有些地方是双虚线。&&&&如果是单虚线的话,那么求解平面关系矩阵的点将会缺少两个。&&&&摄像机的成像知识启发我们,如果摄像机的内外参数已知,就能求解出现实中一点在图像上的坐标。&&&&利用这条性质,本课题首先标定摄像机,求解出该摄像机的内外参数。&&&&在此基础上,假设路面上有一条虚的车道线,它在图像上的坐标可以根据摄像机成像原理求出,这样平面转换所需要的四个点便能求出。&&&& (5)解决摄像机抖动的问题。&&&&为了便于捕捉有用的视频信息,本课题中的摄像机是架设在高空中,这样也就带来一个问题――抖动。&&&&只要架设摄像机的栏杆下有车辆驶过就必然会导致摄像机抖动。&&&&轻微的抖动对测距影响不大,但剧 4 第一章引言烈的抖动则会影响。&&&&因此,本文提出一种解决算法,该算法每隔一段时间提取一次车道线坐标,如果新提取的坐标与旧的坐标之间的距离超过一个阈值,则重新标定摄像机和提取车道线坐标。&&&& 可以说解决了以上四个问题后,本文所提出的方案就能很好地适应高速公路上的具体情况,实现机动车视频测距问题,最终达到机动车视频测速的目的。&&&&该方案是一种能简单快速标定架设于高速公路中的摄像机,并适用于双车道或三车道的,有自我适应能力的方案,是摄像机标定在应用中的一个创新。&&&&论文的各个章节内容安排如下: 第一章引言部分,该章首先简单介绍了机器视觉技术的发展现状,特别是摄像机标定技术的进展和研究现状。&&&&然后,分析了本课题的研究目的,提出如何利用单目摄像机进行测距。&&&&最后介绍了本文的课题解决方案,以及课题中主要工作和取得的成果。&&&& 第二章方案研究部分,从理论和实际出发,分析本系统需要解决的问题,并在此基础上提出了本系统的大体解决方案,为系统实现搭建了一个整体框架。&&&& 第三章车道线提取,本章首先介绍了图像处理的相关理论,然后结合课题实践,将这些图像处理的方法应用到本课题中;同时针对课题中遇到的边缘提取问题,提出用双阈值法解决车道线分割问题,并取得了良好效果;最后利用霍夫变换提取车道线及其坐标。&&&& 第四章摄像机成像模型与测距,该章首先介绍了摄像机的成像模型原理,在此基础上,简化成像模型,以平面映射为原理的方法来实现单目摄像机的测距问题;利用第三章提取的车道线为对应点实现了该方法,并给出了这种方法的实验结果和误差,对误差进行分析。&&&&最后本章还提出了测距中的摄像机抖动问题,并给出了抖动的解决方案。&&&& 第五章摄像机标定,该章首先介绍了当前主流的摄像机标定理论,以及标定方法,而后根据本课题的实际情况提出发,提出了本课题的标定方案,即:先标定摄像机内部参数,再用三线法标定外参数,最后利用标定好的摄像机虚拟出一条车道线进而实现测距。&&&& 第六章是系统的开发环境和相关的软件开发问题,介绍了系统地开发工具,所用的软硬件设备。&&&&第七章是3&&
【】【】【】【】【】
相关视频测速系统中的测距和摄像机标定研究:
All Rights Reserved 版权所有?网学网 提供大量原创论文 参考论文 论文资料 源代码 管理及投稿 E_mail:
郑重声明: 本网站论文均来自互联网,由本站会员上传或下载,仅供个人交流、学习、参考之用,版权归原作者所有
请下载完后24小时之内删除,任何人不得大幅抄录、在期刊上发表或作为商业之用。如涉及版权纠纷,本网站不承担任何法律及连带责任。

我要回帖

更多关于 中国神话历史 的文章

 

随机推荐