浙江大学生物系统工程-图像处理及机器视觉-禽蛋裂纹检测_第1页
浙江大学生物系统工程-图像处理及机器视觉-禽蛋裂纹检测_第2页
浙江大学生物系统工程-图像处理及机器视觉-禽蛋裂纹检测_第3页
浙江大学生物系统工程-图像处理及机器视觉-禽蛋裂纹检测_第4页
浙江大学生物系统工程-图像处理及机器视觉-禽蛋裂纹检测_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、图像处理与机器视觉 组员郑成煌蒋昊铮吕腾浩徐飞洋Start实验背景禽蛋是人们离不开的重要食品。在禽蛋加工过程中的一个重要步骤是分拣,即把破损蛋(主要是裂纹蛋)从好蛋中挑出来。目前,研究采用的方法主要有图像识别和敲击声音识别,或两种方法融合。图像识别的优势在于能够同时检测禽蛋的内外部品质,且是无接触型检测,不会对禽蛋造成二次破坏。Start实验方法第一章算法实现第二章实验软件:Matlab_2010b硬件配置:CPU:(英特尔)Intel(R) Core(TM) i5-4200M CPU 2.50GHz(2501 MHz)内存:4.00 GB (1600 MHz)显卡:NVIDIA GeForc

2、e GT 755M实验方法边缘检测定位滤波实验方法增强裂纹区域的对比度图像增强实验方法小组分工蒋昊铮:用不同的滤波方式进行处理,比较不同滤波方式对裂纹提取结果的影响郑成煌:尝试不同的边缘检测算子进行处理,观察各种算子提取裂纹结果的好坏吕腾浩:通过直方图均衡化的方法增强图像的对比度检测裂纹徐飞洋:根据反锐化掩膜的方法增强裂纹,实现裂纹的检测提取原理算法实现第二章上一章图像锐化图像滤波反锐化掩膜法直方图均衡化算法实现 图像锐化详述尝试几种不同的边缘检测算子进行锐化(Laplace算子、Sobel算子和Log算子)比较不同算子提取裂纹的效果1、灰度化2、边缘检测3、去噪主要步骤算法实现图像锐化Ima

3、ge=imread(D:ZJU图像处理与识别课程设计08-01.bmp);G=rgb2gray(Image); %灰度化G=double(G);G(find(Gthreshold ImageOut(i1,i2)=255; else ImageOut(i1,i2)=0; end endendImageOut=uint8(ImageOut);imshow(ImageOut);算法实现方法总结该处理方法对裂缝处理效果比较好,能比较明显地看出裂缝的存在。但是凹坑的处理效果不太理想,和有污点的但没有裂痕的蛋处理效果类似,因此有凹坑没有裂痕的坏蛋可能混入好蛋中。图像滤波算法实现详述通过原图像得到的灰度图减

4、去平滑后的图像得到反锐化掩膜,将掩膜加上灰度图得到细节强化后的图像,再经过锐化处理等一系列步骤得到最终结果。1、高斯低通器平滑2、得到反锐化掩膜3、锐化处理4、二值化并去噪主要步骤 反锐化掩膜方法算法实现反锐化掩膜方法A=imread(E:浙大图像处理与机器视觉鸡蛋08-01.bmp);a=rgb2gray(A);a=double(a);a(find(a0 g2(i,j)=a(i,j); else g2(i,j)=a(i,j)+40*g2(i,j); %原图加上一定倍数掩膜,增强裂痕对比 end endendgx=-1 0 1;-2 0 2;-1 0 1; % sobel算子锐化处理gy=1

5、2 1;0 0 0;-1 -2 -1;for i1 = 2 : size(a,1)-1 for i2 = 2 : size(a,2)-1 g3(i1,i2) = abs(sum(sum(g2(i1-1:i1+1,i2-1:i2+1) .* gx) + abs(sum(sum(g2(i1-1:i1+1,i2-1:i2+1) .* gy); endendL = fspecial(gaussian); %生成33高斯滤波器模板iOperator = L;for i1 = 2 : size(a,1)-1 for i2 = 2 : size(a,2)-1 g(i1,i2) = sum(sum(a(i1-

6、1:i1+1,i2-1:i2+1) .* iOperator)/sum(sum(L); %高斯低通滤波 endend算法实现反锐化掩膜方法for i=1:size(g3,1) %图像二值化 for j=1:size(g3,2) if g3(i,j)150 %红色为分割阈值 g4(i,j)=255; else g4(i,j)=0; end endendBW2 = bwareaopen(g4,36,8); %噪点去除g5=BW2.*g4;imshow(uint8(g5);%提取裂纹区域图像,需根据不同图像调整语句a=(l=2)+(l=3)+(l=4)+(l=5);g6=g5.*a;imshow(u

7、int8(g6)l,n=bwlabel(g5,8); %通过该段程序找到需要提取的hold on %裂纹图像区域for k=1:nr,c=find(l=k);rbar=mean(r);cbar=mean(c);text(cbar,rbar,num2str(k),fontsize,12,color,red);end算法实现处理效果反锐化掩膜方法原图像处理后图像提取裂纹区域算法实现处理效果反锐化掩膜方法图像二图像三算法实现方法总结从三幅裂纹图像结果来看,该处理方法对前两个图像处理后的效果都不错,但是由于第三幅图没有裂痕,只有一块凹陷下去的地方,图像效果不明显,可修改阈值但噪点随之增多。该程序能适应

8、多数裂纹图像,但仍不能处理各种类型的裂纹图像,且最后的区域提取需要针对图像进行处理,因此该处理代码还有待改进。 反锐化掩膜算法实现详述通过直方图均衡化的方法来增强裂纹与禽蛋其他部分的对比度,从而能增强边缘检测的效果1、阈值分割2、直方图均衡化3、边缘检测4、二值化并去噪主要步骤 直方图均衡化算法实现 直方图均衡化蛋和背景之间的对比度增加了,但是蛋内部的对比度却减小了,使得裂纹更不明显,更难辨识结果不理想初期想法:整体直方图均衡化+图像锐化+阈值处理算法实现 直方图均衡化传统的方法是基于整幅图像进行全局处理的,而在实际操作中,这种全局性的操作对于图像中的细节影响是很小的。采用了局部直方图均衡化的

9、方法,避免对整幅图像进行处理,去除背景的影响,只对鸭蛋图像进行直方图均衡化,增强鸭蛋内的细节,使得鸭蛋图像对比度提高,鸭蛋裂纹的增强效果也变得明显。改进想法:局部直方图均衡化+图像锐化+阈值处理算法实现 直方图均衡化再进行了图像锐化,阈值分割处理,将裂纹提取出来,最后结果如下:算法实现 直方图均衡化算法实现 直方图均衡化算法实现 直方图均衡化算法实现 直方图均衡化算法实现方法总结由结果图可见,该方法存在两个问题:1.蛋的轮廓不能显示,可能是由于经过拉伸处理之后,蛋的轮廓与背景之间的区别变得不明显,导致轮廓不能显示。2.当裂纹不够较不明显时,在最后的结果上也不能很好地显示出来,其原因可能是因为经过局部均衡化之后,蛋图像内部各部分之间的对比度增加,如果蛋的裂纹不明显,裂纹和其他部分之间的对比度也不能增强很多,导致最后图像裂纹不明显。总的来说,该方法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论