基于图像处理的水果识别内容摘要:

ogy)集合论方法发展起 来的图像处理方法。 数学形态学是图像处理和模式识别领域的新方法,其基本思想是用具有一定形态的结构元素去量度和提取图像中的对应形状,以达到对图像分析和识别的作用。 ( 2)形态学基本运算 通常,形态学图像处理表现为一种邻域运算形式。 有一种特殊定义的邻域称为“结构元素”( Structure Element) ,在每个像素位置上它与二值图像对应的区域进行特定的逻辑运算,运算结果为输出图像的相应像素。 形态学运算的效果取决于结构元素的大小、内容以及逻辑运算的性质。 常见的形态学运算有腐蚀和膨胀两种。 常用的简单对称结构元素有 :圆形( disk)、方形 (square)、菱形(diamond)。 ① 腐蚀 (imerode):腐蚀是一种消除边界点,使边界向内部收缩的过程。 利用该操作,可以消除小且无意义的物体。 ② 膨胀 (imdilate):膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。 利用该操作,可以填补物体中的空洞。 ③ 开运算( imopen):先腐蚀后膨胀的过程称为开运算。 利用该运算可以消除小物体,在纤细点处分离物体,平滑较大物体的边界,同时并不明显改变原来物体的面积。 ④ 闭运算 (imclose):先膨胀 后腐蚀的过程称为闭运算。 利用该运算可以填充物体内细小的空洞,连接邻近物体,平滑其边界,同时并不明显改变原来物体的面积。 通常,由于噪声的影响,图像在阈值化后得到边界通常都很不平滑,物体区数理与信息工程学院电子信息工程专业 —— 基于图像特征和神经网络的水果自动识别 14 域有一些噪声孔,背景区域上则散布着一些小的噪声物体。 连续的开和闭运算可以有效地改善这种情况。 Sobel 算子是一种简单常用的微分算子,它不仅能检测边缘点,而且能进一步抑制噪声的影响。 Sobel 算子是对数字图像 f(x,y)的每个像素考查其相邻点像素灰度的加权差,即 S(x,y)=[f(x1,y1) + 2f(x1,y) + f(x1,y+1)] [f(x+1,y1) + 2f(x+1,y) + f(x+1,y+1)] + [f(x1,y1) + 2f(x,y1) + f(x+1,y1)] [f(x1,y+1) + 2f(x,y+1) + f(x+1,y+1)] (22) 利用 Sobel 算子进行边缘检测;利用 OR 运算结合模糊分割和边缘信息,去除断边;利用数学形态学重新填充一下图像中的洞,最终处理后的图像符合我们的要求,其效果分别如图 25和图 26所示: 程序如下: %利用 sobel 算子提取边缘 ROI_edge=edge(QuZao,39。 sobel39。 )。 figure(5)。 imshow(ROI_edge)。 title(39。 边缘检测图像 39。 )。 %利用 OR 运算结合二值化图像和边缘信息 ROI_Seg=zeros(m,n)。 for i=1:m for j=1:n if (ROI_edge(i,j)==0) amp。 (Erzhihua(i,j)==0) ROI_Seg(i,j)=0。 else ROI_Seg(i,j)=255。 end end end figure(6)。 imshow(ROI_Seg)。 title(39。 OR 运算分割图像 39。 )。 %去除断边 se = strel(39。 disk39。 ,3)。 Fina_Seg = imclose(ROI_Seg,se)。 %去除断边后重新再填充一下图像中的洞 Fina_Seg = imfill(Fina_Seg,4,39。 holes39。 )。 数理与信息工程学院电子信息工程专业 —— 基于图像特征和神经网络的水果自动识别 15 图 25 边缘检测图像 图 26 OR运算分割图像 2. 1. 6 图像标签化处理 所谓图像的标签化,是指对图像中互相连通的所有像素赋予同样的标号,而对于不同的连接成分则给予不同的标号的处理过程。 经过标签化处理就能把各个连接成分进行分离,从而可以研究它们的特征。 作为区域分割(标签化)的方法,最基本的是区域扩张法。 这种方法把图像分割成特征相同的小区域 (最小的单位是像素 ),研究与其相邻的各个小区域之间的特征,把具有类似特征的小区域依次合并起来。 例如,为了从像素开始进行区域扩张,可操作 如下: 1. 对图像进行光栅扫描,求出不属于任何区域的像素; 2. 把这个像素的灰度与其周围的 (4 邻域或 8 邻域 )不属于任何一个区域的像素灰度相比较,如果其差值在某一阈值以下,就把它作为同 — 个区域加以合并; 3. 对于那些新合并的像素,反复进行 2的操作; 4. 反复进行 3 的操作,直至区域不能再扩张为止; 5. 返回到 1,寻找能成为新区域出发点的像素。 本设计采用的是 8 邻域法,由于是二值图像,所以差值可以定义为‘ 0’。 为了能够看到明显的效果,程序以不同的颜色来突出显示标签化后的图像,其效果分 别如图 27 和图 28 所示: 程序如下: %标记连接成分( 8 邻域) [Biaoqianhua1 XNum]=bwlabeln(Fina_Seg,8)。 Biaoqianhua=Biaoqianhua1(3:end3,3:end3)。 [m,n]=size(Biaoqianhua)。 figure(7)。 imshow(Biaoqianhua)。 title(39。 标签化图像 39。 ) Biaoqianhua1=Biaoqianhua。 数理与信息工程学院电子信息工程专业 —— 基于图像特征和神经网络的水果自动识别 16 %以伪彩色的形式显示标记图像 RGBX=label2rgb(Biaoqianhua,@jet,39。 k39。 )。 figure(8)。 imshow(RGBX)。 title(39。 彩色标签化图像 39。 ) 图 27 标签化图像 图 28 彩色标签化图像 2. 2 图像特征参数计算 S1,S2,S3—— 分别表示三种水果的面积; L1,L2,L3—— 分别表示三种水果的周长; radian_o, radian_b, radian_a —— 分别表示三种水果的弧度。 本课题计算的图像特征参数有: ( 1)面积:计算物体所包含的像素数量。 经 过标签化的不同区域像素值分别为: 1, 2, 3。 所以可以这样来计算面积: S1 对应像素值为 1 的区域,当从左到右,从上到下地对图像进行扫描时,发现像素值为 1 的,则计数器 S1 就加 1, 整幅图像扫描完毕,即得区域 1 的面积。 类似的,可以求出 S2和 S3,只是对应的 S(n)需要除以 n。 程序如下: S1=0。 S2=0。 S3=0。 for i=1:m for j=1:n if (Biaoqianhua(i,j)==1) S1=S1+1。 end end end S1。 for i=1:m 数理与信息工程学院电子信息工程专业 —— 基于图像特征和神经网络的水果自动识别 17 for j=1:n if (Biaoqianhua(i,j)==2) S2=S2+2。 end end end S2=S2/2。 for i=1:m for j=1:n if (Biaoqianhua(i,j)==3) S3=S3+3。 end end end S3=S3/3。 ( 2)周长:计算出物体轮廓线上的像素数,在斜方 向上,会产生数字化图形特有的误差,故应以其 2 倍的数量加以补正。 当从左到右,从上到下地扫描图像时,发现像素值为 1的,且它的相邻像素值( 8 领域)有与它不同的,计数器 L1 加 1,整幅图像扫描完毕,即得区域 1的周长。 类似可以求出 L2和 L3。 程序如下: L1=0。 L2=0。 L3=0。 for i=1:m for j=1:n if ((Biaoqianhua(i,j)==1amp。 Biaoqianhua(i1,j1)==0)|(Biaoqianhua(i,j)==1amp。 … Biaoqianhua(i1,j)==0)|(Biaoqianhua(i,j)==1amp。 Biaoqianhua(i1,j+1)==0)|… (Biaoqianhua(i,j)==1amp。 Biaoqianhua(i,j1)==0)|(Biaoqianhua(i,j)==1amp。 … Biaoqianhua(i,j+1)==0)|(Biaoqianhua(i,j)==1amp。 Biaoqianhua(i+1,j1)==0)|... (Biaoqianhua(i,j)==1amp。 Biaoqianhua(i+1,j)==0)|(Biaoqianhua(i,j)==1amp。 … Biaoqianhua(i+1,j+1)==0)) L1=L1+1。 end 数理与信息工程学院电子信息工程专业 —— 基于图像特征和神经网络的水果自动识别 18 end end for i=1:m for j=1:n If ((Biaoqianhua(i,j)==2amp。 Biaoqianhua(i1,j1)==0)|(Biaoqianhua(i,j)==2amp。 … Biaoqianhua(i1,j)==0)|(Biaoqianhua(i,j)==2amp。 Biaoqianhua(i1,j+1)==0)|… (Biaoqianhua(i,j)==2amp。 Biaoqianhua(i,j1)==0)|(Biaoqianhua(i,j)==2amp。 … Biaoqianhua(i,j+1)==0)|(Biaoqianhua(i,j)==2amp。 Biaoqianhua(i+1,j1)==0)|... (Biaoqianhua(i,j)==2amp。 Biaoqianhua(i+1,j)==0)|(Biaoqianhua(i,j)==2amp。 … Biaoqianhua(i+1,j+1)==0)) L2=L2+1。 end end end for i=1:m for j=1:n If ((Biaoqianhua(i,j)==3amp。 Biaoqianhua(i1,j1)==0)|(Biaoqianhua(i,j)==3amp。 … Biaoqianhua(i1,j)==0)|(Biaoqianhua(i,j)==3amp。 Biaoqianhua(i1,j+1)==0)|… (Biaoqianhua(i,j)==3amp。 Biaoqianhua(i,j1)==0)|(Biaoqianhua(i,j)==3amp。 … Biaoqianhua(i,j+1)==0)|(Biaoqianhua(i,j)==3amp。 Biaoqianhua(i+1,j1)==0)|... (Biaoqianhua(i,j)==3amp。 Biaoqianhua(i+1,j)==0)|(Biaoqianhua(i,j)==3amp。 … Biaoqianhua(i+1,j+1)==0)) L3=L3+1。 end end end L1。 L2。 数理与信息工程学院电子信息工程专业 —— 基于图像特征和神经网络的水果自动识别 19 L3。 ( 3)弧度:它是在面积、周长的基础上,测量物体形状的 复杂程度的特征量。 有弧度 =4π(面积) /(周长) 2。 通过对三种弧度的比较,可以将弧度最小的香蕉识别出来。 程序如下: radian_o=0。 radian_b=0。 radian_a=0。 radian_o=4*pi*S1/(L1)^2 radian_b=4*pi*S2/(L2)^2 radian_a=4*pi*S3/(L3)^2 ( 4)颜色: 计算机进行图像分类识别的实际操作时 , 颜色特征的表达和提取存在两个问题 : ①颜色参量。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。