- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
双目摄像头在识别物体大小方面应用
双目摄像头在识别物体大小方面应用
【摘要】 在机器视觉的应用当中,双目摄像头对物体距离和大小的感知模仿了人眼的功能,实现了对现实世界的感知。该算法基于ARM Cortex-A9嵌入式开发平台,在考虑了透镜的径向畸变和切向畸变影响的情况下,对双目摄像头进行了立体标定,给出了使用opencv双目识别物体大小和距离的算法。其充分发挥了opencv图像处理库的实用性和双目摄像头的优势,具有较高的识别准确性、跨平台可移植性和实时性,可以满足各个领域的需求。
【关键词】 计算机视觉 嵌入式 双目立体视觉 物体大小 opencv
引言
随着计算机计算能力的提高,图像分析越来越凸显出其在各个领域的优势,而单摄像头所得到的单张平面图像已经满足不了人们在各个领域内对图像处理的要求,双摄像头的图像处理技术应运而生。人眼对世界的感知就是通过双眼得到的,图像工程领域模仿人眼的结构,设计了双目摄像头,在二维图像的基础上将图像拓展成为了三维。
本文基于OpenCV库,OpenCV是一个开源的计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上,它轻量级而且高效――由一系列 C 函数和少量 C++ 类构成,实验平台为Exynos 4412开发板,是一款基于ARM Cortex-A9架构的嵌入式开发平台,从双目测距的原理开始,使用了canny算子等算法实现了对双目摄像头中物体的提取和识别,并通过轮廓检测实时计算出物体的尺寸大小。经实验验证,计算结果准确,具有很高的实用价值。
一、双目测距的原理
1.1基本原理
双目测距是基于视差的原理,该模型是基于一套无畸变、对准、已测量好的完美标准立体实验台的数学模型,即两摄像头所得图像无任何畸变,完全基于小孔成像原理,两图像平面完全在一个平面内,每一行像素点平行且对其,两摄像头参数完全相同,如下图。
深度与视差成反比,两者是明显的非线性关系,当视差接近0时,微小的视差变化会导致很大的深度变化;当视差较大时,微小的视差变化几乎不会引起深度多大的变化。因此,立体视觉系统仅仅对于物体与摄像机相距较近时具有较高的深度精度。
1.2相机的标定的基本原理
对摄像机进行标定,其实质是求解摄像机成像模型中的相关参数。在众多摄像机模型中,最简单的是针孔模型。但是摄像机镜头都是采用的透镜成像,并不是理想的针孔模型,透镜的使用带来了透镜畸变。[1]在opencv中,常用的摄像头畸变模型为
其中,R为两摄像头间的旋转矩阵,T为两摄像头间的平移矩阵。Rr为右摄像头经过张氏标定得到的相对标定物的旋转矩阵,Tr为右摄像头通过张氏标定得到的相对标定物的平移向量。Rl为左摄像头经过张氏标定得到的相对相同标定物的旋转矩阵,Tl为左摄像头经过张氏标定得到的相对相同标定物的平移向量。
在opencv中,可以利用棋盘格标定盘进行标定,使用FindChessboardCorners()抓取角点。获取亚像素角点坐标 FindCornerSubPix(),单目标定,求取摄像机内外参数ClibrateCamera2()。双目标定,求取两摄像机相对位置关系StereoClibrate()。
图为立体标定后的修正图。
二、物体识别
2.1物体识别的基本原理
首先对双摄像头得到的图片进行立体匹配,然后对原始图片进行二值化处理、高斯模糊、canny算子轮廓检测,寻找物体轮廓并用最小四边形将物体完整框出,通过计算四边形四个顶点的坐标得到物体的像素大小。
2.1物体识别的opencv的实现
Opencv提供了BM算法、SGBM算法、GC算法三种立体匹配算法,三种算法的匹配速度从高到低,匹配质量从低到高,出于匹配速度和匹配质量的考虑,在这里使用SGBM算法进行计算,在opencv中提供了cv::Ptr类,运行效果如图。
三、物体实际大小的计算
3.1物体实际大小的计算原理
获得景深图后,对物体轮廓进行检测,并用最小四边形框出物体的轮廓,通过计算四边形四个顶点的坐标得到物体中心点的像素坐标,通过双目测距的原理获得物体中心点距离摄像头的距离。根据三角形原理,可以计算出物体的宽度和高度,实现物体大小的测量。
3.1计算物体实际大小的实现
首先使用reprojectImageTo3D生成三维点云,使用findContours获得物体轮廓,遍历删除最大最小的轮廓,使用minAreaRect获得轮廓的最小矩形并得到矩形四个顶点的坐标,通过三角函数计算出物体的大小,并通过雷达扇形图显示在屏幕上。
四、结束语
通过对opencv平台的利用,可以将注意力完全集中到图像识别的算法上去,本文基于Exynos 4412开发板,所编写
您可能关注的文档
最近下载
- 大连市跨境电商综合实验区建设的SWOT分析【论文范文】.doc VIP
- “一带一路”下我国物流企业与跨境电商协同发展研究论文.doc VIP
- bga返修台_zm-r5860说明书8800元.pdf VIP
- 药物外渗的预防及处理试题.docx
- 2025年辽宁中考英语试题【附答案】.doc
- 传统企业向跨境电商转型的模式及运营机理论文.doc VIP
- 老年保健卫生知识竞赛100题及答案.pdf VIP
- 西南18J515_室内装修 标准图集.pdf VIP
- Dell戴尔Dell Latitude 12 Rugged Extreme – 7214 用户手册.pdf
- 全球价值链与跨境电商研究.pptx VIP
文档评论(0)