基于单摄像头的非接触式物体体积测量

作者:王猛;姚平;陈森林;王格林 刊名:电子制作 上传者:武新明

【摘要】本设计采用计算机和STC89C52单片机进行控制,利用摄像头拍摄旋转物体的图片,以像素点与面积的对应关系为切入点,通过统计像素点的数量得到物体的截面积,而后对每一帧图像面积进行累加,拟合出像素点与物体体积的转换关系,用这个转换关系得到被测物体的实际体积。

全文阅读

0引言测量技术的应用范围十分广泛,小到对微型工件的尺寸测量,大到对天体体积、天体之间距离的测量。而本文所要探讨的,就是一种利用摄像头测量物体体积的方法。生活中很多的东西,形状怪异普通的方法难以快速测量其体积,因此本文所探讨的测量方法在生产实践中是很有意义的。1方案简介当摄像头与物体的距离固定时,拍出的图片与实际物体的大小比例也是固定的,也就是说图片上的物体所对应的像素点与物体该截面的面积成正比。利用这个结论,我们在实验中使用摄像头对被测物体进行360拍照,得到每一个截面的图片,计算得出各个截面的面积,而后进行积分累加求出该物体的体积。我们所设计的整个系统分为两大部分:步进电机驱动系统和体积测量系统。(1)步进电机驱动系统的作用是让被测物体进行匀速的旋转,方便摄像头拍照。(2)体积测量系统是利用摄像头拍照并计算出被测物体的体积。2系统硬件设计硬件部分的结构如图1所示:图1硬件结构图。2.1步进电机驱动系统这个部分由单片机、步进电机以及步进电机驱动器组成。我们选用的单片机的型号为STC89C52RC;步进电机型号为42BYGHW609;配套驱动器型号为DQ420MA。该步进电机的固有步角距为1.8度,在步进电机驱动器收到单片机传来的方波信号时,会将方波信号转换为角位移来带动步进电机匀速转动。2.2体积测量系统这个部分由普通摄像头和计算机构成。摄像头以固定的帧频提取物体图片,送给计算机进行数据处理。为了能够更好地分辨被测物体的大小及轮廓,方便在程序中对图像进行二值化处理,我们制作一个单色背景,并使得该背景颜色和被测物体的颜色明显区别。在实验中,我们使用了白色的被测物体,而背景则选择为黑色。3系统软件设计本设计中程序主要由步进电机驱动程序和体积测量程序构成。其程序流程图分别如图2、3所示。图2步进电机驱动程序流程框架图3图像获取及体积计算流程框架3.1步进电机驱动程序该程序中我们采用循环取反来实现电平变化,使得单片机产生一个稳定的方波,进而驱动步进电机匀速转动。为了方便后期计算机进行图像数据的处理,这里先要计算方波的频率,以便计算机处理的图像正好是被测物体360的图像,而不会出现重复拍摄的图像。3.2体积测量程序先调用OPENCV库打开摄像头,用摄像头循环提取图片。然后通过一定的规律,统计每一张图片上被测物体的像素点,得到统计结果之后,用已经拟合的公式计算出这些点所对应的物体体积。3.2.1像素点统计算法将物体从上到下分割为无数个半径不同的圆片,我们从图片上看到的就是由这无数个圆片的直径叠加成的面。整个图片为一个数字组成的矩阵,极黑点为0,极白点为255。将这个矩阵记为,利用二值法统计出每一行的白像素点,得到列片的直径有着正比的关系。将第m张图片的第n个直径记为,每两张图片所得到的截面之间转过的角度为,A为像素与实际面积之间的转换比例。每次转过角度时,我们计算一次,物体转过一圈后,把每一次的结果叠加,公式表达如下:=3.2.2经验公式的拟合在这个公式中,比例系数A、角度均为已知量,我们将所有的系数用一个未知数代替,记为X。于是:如果确定了X的值,那么整个公式也随之确定。令,我们称之为物体的虚拟体积。找出形状相似的一类已知体积的物体,用已经写好的程序计算出这些物体的虚拟体积,通过matlab作拟合曲线,可以得到最终的公式。一般情况,形状差异太大的物体拟合的公式会不一样,所以不同类型的物体所使用的公式不一样。4实验测试及数据分析我们用该方法测量了六个圆锥类物体,每个物体测量了三次,其中物体的实际体积是用排水法所测出来的,得到如下结果:表1实验数据表从测试的情

参考文献

引证文献

问答

我要提问