图像处理课程报告

上传人:鲁** 文档编号:544371995 上传时间:2023-02-27 格式:DOC 页数:19 大小:681.01KB
返回 下载 相关 举报
图像处理课程报告_第1页
第1页 / 共19页
图像处理课程报告_第2页
第2页 / 共19页
图像处理课程报告_第3页
第3页 / 共19页
图像处理课程报告_第4页
第4页 / 共19页
图像处理课程报告_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《图像处理课程报告》由会员分享,可在线阅读,更多相关《图像处理课程报告(19页珍藏版)》请在金锄头文库上搜索。

1、数字图像处理课程论文题 目:瓶子灌装流水线是否灌装满瓶体的 检测姓 名 学 院 专业班级 学 号 指导教师 日 期 2015年 6月 10日 瓶子灌装流水线是否灌装满瓶体的检测摘要:使用数字图像处理方法分析图像中液面高度来检测瓶中的液体体积是否符合要求。通过对瓶子中装满液体的区域进行提取,以此区域的大小作为判断的依据。首先对采集的实际图像进行RGB三种颜色分量的提取,将其中的两种分量作差,除去背景,接下来将作差后的图像采用大津法计算阈值并二值化,再通过腐蚀、膨胀等运算去除躁声点。最后标记连通域、计算各连通域的面积,判断出未装满的瓶子,将其标注出来,同时统计瓶子总数及未装满的个数。所有处理过程通

2、过matlab编程实现。关键词:数字图像处理;液体体积检测0 引言 随着消费水平的提高,相关法律法规的完善,在食品(饮料、调料)和医药等行业中,产品的质量变得越来越重要。而产品的重量符合要求正是产品质量的基本要求之一。但现在,这些行业的生产规模日益扩大,生产现代化水平日益提高。采用传统手段对大规模现代化生产线上的产品灌装后的液体体积进行逐一检测,已经是很困难的了。 在固定的同一种瓶中,其液体的液位变化直接反应了所装液体体积的变化,所以对液位的检测实际上就是对灌装液体体积的检测。本文利用数字图像处理技术对灌装后瓶内液位进行检测的算法,能满足对液体体积进行快速在线检测的要求。 在当前市面上液面的检

3、测是基于传感器等芯片实现的,结构复杂。而基于数字图像处理的算法只能处理一些简单的理想的图片,事实上流水线由于空气浮沉、机械振动等的影响根本无法采集到躁点少,杂波低的理想图片。 本算法利用作差法实现了去噪,又运用了图像增强法实现了对目标图像的提取,克服了传统算法的缺点。1 检测原理 在瓶子灌装流水线上要实现对液体是否灌装满瓶体的检测,可以有下面三种方法: (1)以液面的高度作为判断依据。将刚好装满时的液位高度作为标准,若液面高度低于此标准,则认为未装满。 (2)以瓶口处未装满的体积作为判断依据。由于同一流水线上的瓶子的尺寸和规格都是一样的,所以当瓶口处未装满的体积大于标准值时则认为未装满。而实际

4、通过摄像头采集的图像是二维的,无法计算体积,于是有面积代替。 (3)以瓶子装满的体积作为判断依据。由于同一流水线上的瓶子的尺寸和规格都是一样的,所以当瓶子装满的体积小于标准值时则认为未装满。而实际通过摄像头采集的图像是二维的,无法计算体积,于是用面积代替。 考虑到算法的简便性,本文采用了第三种方法。图像处理的流程如下: 二 值 化 去 噪 生计算装满区图像的面积 比较判断是否装满并标记 统计总数并计算不合格率 去 背 景 图(1)图像处理流程图 2 去背景 由于我们最终要提取的是瓶子装满区域的面积,所以我们感兴趣的部分就是瓶子装满液体的区域,其他部分则为背景。去除背景的干扰才能便于后续的面积提

5、取。例如模拟瓶子灌装流水线上的初始图像如图所示: 图(2)初始图像 其中瓶子本身为无色透明的,所装液体为橙黄色,瓶后的挡板为白色(由于采集光线所致,挡板略显粉红)。若直接进行灰度变换(如图3),所得图像难以将装满区域提取。 图(3)直接进行灰度变换后图像应用matlab编写程序为: clear close allI=imread(E:图像处理6.png); figure,imshow(I)I=rgb2gray(I); figure,imshow(I)因此不能直接进行灰度变换,只能考虑先对彩色图像进行处理。首先将彩色图像的RGB三个彩色分量提取出来。应用matlab编写程序为:fR=I(:,:,

6、1); %获取图像的红色分量fG=I(:,:,2); %获取图像的绿色分量fB=I(:,:,3); %获取图像的蓝色分量 figure,imshow(fR) %分别显示图像 figure,imshow(fG) figure,imshow(fB) 图(4)红色分量图像图(5)绿色分量图像图(6)蓝色分量图像 将RGB三个色彩分量的图形进行分析可发现,在每一种分量的图像中瓶子装满区域与其他部分的差别不大不易提取,但将三种分量的图像进行对比可以发现瓶子已灌装液体的区域与未装满的在分量图像中各有差异,因此可以采用图像代数运算中的图像减法来实现图像装满区域的提取,即图像的去背景。 图像减法也称为差分方法

7、,是一种常用于检测图像变化及运动物体的图像处理方法。图像减法可以作为许多图像处理工作的准备步骤。例如,可以使用图像减法来检测一系列相同场景图像的差异。图像减法与阈值化处理的综合使用往往是建立机器视觉系统最有效的方法之一。 对原始图像分析可得到如下特征: (1)瓶后的挡板为白色,RGB三种分量的灰度值都接近255,因此任意两种分量的图像做减法运算均可以去掉挡板。 (2)瓶中液体为橙黄色,瓶子本身为无色,因此:红色分量减去蓝色分量可提取出瓶中装有液体的区域: 图(7)红色分量减去蓝色分量后的图像图(8)红色分量减去绿色分量后的图像 显然,对液体区域的提取红色分量减去绿色分量没有没有红色分量减去蓝色

8、分量的清晰。 图(9)绿色分量减去红色分量后的图像图(10)绿色分量减去蓝色分量后的图像图(11)蓝色分量减去红色分量后的图像图(12)蓝色分量减去绿色分量后的图像 经过对以上处理方法所得结果进行对比,决定给采用红色分量减去蓝色分量来提取瓶子中装满液体区域的方法。此方法可有效提取液体区域,且噪点少,便于后续的二值化等处理。 综上可得,用不同颜色分量做作差去背景的方法十分灵活,可根据瓶子的颜色及瓶中液体的颜色来选择不同的作差方式。尤其适用于瓶子颜色与所装液体颜色不同情况下。以上处理应用matlab编写的程序为:fR_B=fR-fB; %红色分量减去蓝色分量 figure,imshow(fR_B)

9、 fR_G=fR-fG; %红色分量减去绿色分量 figure,imshow(fR_G)fG_R=fG-fR; %绿色分量减去红色分量 figure,imshow(fG_R) fG_B=fG-fB; %绿色分量减去蓝色分量 figure,imshow(fG_B) fB_R=fB-fR; %蓝色分量减去红色分量 figure,imshow(fB_R) fB_G=fB-fG; %蓝色分量减去绿色分量 figure,imshow(fB_G) 3 二值化 图像的二值化处理就是将图像上的点的灰度置为0或255,也就是将整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阈值选取而获得仍

10、然可以反映图像整体和局部特征的二值化图像。利于再对图像做进一步处理时,图像的几何性质只与像素值为0或255的点的位置有关,不在涉及像素的多级值,使处理变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。 图像二值化的具体实现方法就是将所有灰度大于或等于阈值的像素判定为属于特定物体,其灰度值为255表示,而其他的像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的区域。 因此图像二值化的选择十分关键,根据其对像素的处理方式,主要分为三类: (1)全局阈值法:是指整个图像采用单一阈值(全局阈值)T进行图像二值化。一般有图像的直方图或灰度的空间分布确定一个全局阈值T,将图像的每个像素的灰度值

11、与T进行比较。若大于T,则取为前景色;否则取为背景色;典型的全局阈值法有Ostu法、最大熵法等。 (2)局部阈值法:由当前像素灰度值与该像素周围点局部灰度特征来确定像素的阈值。通过定义考察点的邻域,并由邻域计算模板实现考察点灰度与邻域点的比较。典型的局部阈值法有Bernsen法、Nilblack法等。 (3)动态阈值法:当光照不均匀、或者背景灰度变化较大等情况时,必须根据图像的坐标位置关系自动确定不同阈值,实施动态的阈值确定。该法的阈值选择不仅取决与该像素及周围像素的灰度值。而且还与该像素的坐标位置有关。邻域均值法是较为常见的一种动态阈值确定技术。 对去背景后的图像(图(7)分析得到,图像整体

12、光照均匀,适合用全局阈值法,这里我们采用Ostu法(最大类间方差法,又称大津法)来选取阈值。应用MATLAB进行图像处理时使用函数level=graythresh(I)来计算全局阈值(level).处理后图像如图(13)。图(13)采用Ostu法选取阈值并将进行二值化的图像 二值化后的图像基本可以,已能将瓶中装满液体的区域提取。应用matlab编写程序为:bw1=im2bw(fG_B,level); %二值化 figure,imshow(bw1)四 滤波 通常,由于噪声的影响,图像在阈值化后所得到边界往往是很不平滑的,物体区域具有一些噪声,背景区域上散布着一些小的噪声物体。连续的开和闭运算可以

13、有效地改善这种情况。有时需要经过多次腐蚀之后在加上相同次数的膨胀,才可以产生比较好的效果。 开运算: 先腐蚀后膨胀的过程称为开运算。用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。 闭运算: 先膨胀后腐蚀的过程称为闭运算。用来填充物体内细小空间、连接邻近物体、平滑其边界的同时并不明显改变其面积。 腐蚀: 腐蚀是一种消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的物体。 膨胀: 膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。可以用来填充物体中的空洞。经过二值化后的图像虽然能基本提取所需区域,但扔存在一些纤细处分离的物体类噪声点。

14、我们要将这些噪声点去掉,对于每一个瓶子的位置只保留一个连通的区域来计算面积,所以采用开运算的方法来消除噪声。由于噪声点不是很多,可进行一次开运算便得到了很好的效果(如图(14)。如果小物体类噪声点较大可采用多次腐蚀后在经相同次数的膨胀来完成。图(14)经开运算后的图像应用matlab编写程序为: %SE1=strel(arbitrary,eye(5); %设置腐蚀结构元素 %bw2=imerode(bw1,SE1); %腐蚀 %figure,imshow(bw2) bw3=bwmorph(bw1,open); %开运算 figure,imshow(bw3) %bw3=bwmorph(bw2,open); %开运算 %figure,imshow(bw3);五 装满区域面积的计算 对瓶中装满液体区域面积的计算实际就是对目标所占

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号