(3) 识别和决策部分:把第(2)部分结果做函数处理后告知 PLC 作出相应动作,实现工件的识别与检测(对应于图中分类判决部分)。
5.1.2 系统技术基础
本系统主要分为三个模块:图像采集模块、图像处理模块、图像识别判断模块。其中图像处理模块可以具体细分为图像预处理模块、图像区域处理模块、图像差分投影模块等。
图像采集模块实时地采集图像,并将其调入到内存中;由图像处理模块调用缓冲区内的图像数据,并通过其子模块对图像进行相应地处理;最后,调用图像识别判断模块对处理后的图像提取特征参数,再根据定义的识别函数进行判断。
5.2 系统开发
实验台上有红色、黑色、银色三种零件,零件识别与检测系统能做到根据这些零件的颜色、形状(同心圆、面积等)以及零件上的汉字来对零件进行分类与剔出废品。零件图像由 CCD 获取,最初的图像是 24 位真彩色图象,如下图。
图 5.2.1 零件真彩色图
5.2.1 颜色识别
(1)彩色图像处理
颜色特征是图象最直观的特征,具有稳定与易于提取的特点。在计算机中,对颜色的表示主要有 RGB、YUV、HSI 三种模型,其中用途最广的是 RGB 颜色模型,论文中采用的颜色模型也是 RGB 模型。RGB 彩色空间是一种矩形直角空间结构模型,如图 4.6,是通过对颜色进行加运算完成颜色综合的彩色系统。
它是三基色(红色、绿色、蓝色)合成的过程,原点对应于黑色,远离原点的定点对应于白色,常见形式有 256 色、真彩色 RGB 图像。256 色图像是利用最常见的 256 种颜色来对一个图像进行描述,在计算机内部用 8bit 来表示 RGB 三种颜色的组合。真彩色图像又称 24 位图像,在计算机内部用 24bit、即三个字节来表示三基色的组合,它能表示的颜色数量为 2的24次方种,这个数量足可以把现实世界描绘的尽善尽美,通过 24 位真彩色图像人眼能真实地感受到现实世界中的景物;
图 5.2.1.1 RGB 彩色立方体
在 RGB 模型中,三基色的取值范围都是从 0 到 255,若三基色值相等则为灰度图象。其中任何一种颜色 C 都可以表示为:
C = r R + g G + bB
其中 C 表示混合而成的颜色,R 表示红色,G 表示绿色,B 表示蓝色,r表示红色比例,g 表示绿色比例,b 表示蓝色比例。
在色度系统中不只是用三种基色表示颜色,更多是用它们的比例值---色度坐标(r,g,b)来表示,r、g、b 与三基色的关系为:
r=R/(R+G+B) g=G/(R+G+B) b=B/(R+G+B)
由于色度坐标 r+g+b=1,因此,只有两个坐标是相互独立的,根据两个相互独立的色度坐标绘制出来的光谱曲线称为色度图。
通过对计算机图像颜色机理的认识,在颜色识别模块中,分别获取图像的 R,G,B 分量值,计算出从 0-255 中变化范围在一定范围内的 R,G,B 分量的数量值,最多的数量值所对应的 R,G,B 值即为所求的颜色 RGB 值。在工件颜色数目有限的情况下,可以建立相对应的索引颜色表,这样可以更直观的了解对应工件的颜色,而不是数字意义上的颜色 R、G、B 值。最好是在有固定光源模式下,在各种不同灯光下由于存在颜色的变化而有误差。
在颜色识别中,不可能也没有必要顾及整幅图像,只需对其中感兴趣的部分做处理。这个方法非常重要,因为这样可以减少图像处理的时间,从而满足实时性的要求,同时也减少了那些非工件图像因素的干扰。感兴趣的部分的形状并不全是水平矩形,可能有倾斜角也有可能是一个随意的形状。此时如果仍然使用普通数据结构来表示数字图像,会非常难以操作。另外在对彩色图像进行处理时,如果需要对图像的某个通道的图像进行滤波算法,还需要首先从内存区域中每隔两个字节提取一个字节生成一幅新的图像,然后再进行滤波算法。这些方面都会影响到算法速度。 Matlab生产自动化实验系统机器视觉单元设计+CAD图纸(12):http://www.youerw.com/zidonghua/lunwen_276.html