苹果特征提取
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a 原始图片
b 灰度图片
c 二值图片
图 1 求苹果面积过程中的图像变换
2 缺陷检测
对于苹果表面的缺陷( 如疤瘌、黑斑等),本课题采用特 征提取,即提取出坏损部位的轮廓,再进行填充求其面积,以 其面积在图片中的比例作为判别依据。首先,对采集的原始图 片( 即彩色图片)进行灰度变换;接着用函数 imadjust 来调 整灰度;对灰度图片进行一次中值滤波后,再对图片进行边缘 检测;这时坏损的轮廓已经出现,但还有一些噪声存在,为滤 掉噪声,要先对坏损的轮廓填充,采用 BWfill=imfill(BW, 'holes')语句,使缺陷部位的像素点为白色;其次是经过滤 波,把噪声滤掉求缺陷的像素个数 a, 与图片总的像素个数 (x*y)的比 b 就是我们判断的依据,本程序设 b=0。 程序流程:读入图像→ 灰度化图像→直方图调整→中值滤波 →边缘检测 → 缺陷判定
fprintf(' 有果梗 '); end
d 边缘检测
e 轮廓填充
f 滤波
图 2 检测苹果表面坏损过程中的图像变换
3 果梗检测
对苹果梗的检测,主要是通过对苹果的轮廓线矩阵求差
分实现的。利用图像处理技术对苹果的彩色图片进行灰度转
换,经滤波后再边缘检测,提取出苹果的轮廓线,利用 imcon-
tour 函数可以得出轮廓线的矩阵,再用 diff 函数对矩阵进
fig u re , s u b p lot ( 1, 4, 1) , im s h ow( I) ;
s u b p lot ( 1, 4, 2) , im s h ow( I2) ;
s u b p lot ( 1, 4, 3) , im s h ow( B6) ;
s u b p lot ( 1, 4, 4) , im s h ow( BW) ;
figure,[C,h]= imcontour(BW);
a= diff(C);
[x,y]= size(a);
sum= 0;
for i= 1:x
for j= 1:y
a 原始图片 b 灰度图片 c 滤波后的图片 d 边缘检测
e 数据轮廓线 图 3 检测果梗过程中的图像变换
4 结论
通过在 Matlab 上实验分析,应用这些特征加以判断对水 果进行分级,解决了苹果自动分级视觉信息处理中亟待进一 步完善的问题— ——果梗判别,与此同时还能进行边缘检测,算 法简单易行,再加上算法本身既适合于并行处理,又适合于硬 件电路实现, 为苹果自动分级系统的真正实施打下了坚实的 基础。 参考文献
I= imread(' 图片名.jpg');
I2= rgb2gray(I);
B= medfilt2(I2);
B2= medfilt2(B);
B3= medfilt2(B2);
B4= medfilt2(B3);
B5= medfilt2(B4);
B6= medfilt2(B5);
BW= edge(B6,'sobel',0.1);
1 大小检测
对于苹果大小的检测,主要依靠求出的苹果面积作为判 别依据。本课题所采用的苹果图片都只是单个苹果的图片。首 先对图片进行灰度处理,使用的 MATLAB 函数是 rgb2gray;其 次使用函数 im2bw 把灰度图转换为二值图,阈值则取 0.9,从 而使苹果区域为黑色,其余区域为白色;然后对二值图取反, 使黑白颜色区域颠倒,这时的苹果区域为白色;最后利用函数 bwarea 可以计算白色区域的像素点的个数 total。利用 to- tal 与整幅图片的像素值( x*y)之比,再与图片的面积相乘, 便可得出苹果相对图片的面积. 利用这个面积我们可以进行 筛选. 程序流程:读入图像 → 灰度化图像 → 二值化图像 → 计 算面积
5 Tao Y, Morrow CT, Heine man n P. Fourier-based separation technique for shape grading of potatoes using machine vision. Transac- tion of ASEA,1995,38(3):949~957
经验与交流
计算机与信息技术
· 79 ·
苹果的特征检测与 MATLAB实现
王术兰 徐晓辉 胡慧
( 河北工业大学信息工程学院 天津 300130)
摘 要 本文选取了可用于苹果分级的部分特征, 并在 Mat l ab 上进行试验检测。该方法可以对苹果的外部缺陷、果梗、尺
寸和形状进行全面的检测, 在此基础上可对苹果进行高速和精确的分级。
I= imread(' 图片名.jpg'); I2= rgb2gray(I); J= imadjust(I2,[0.1 0.3],[]); B= medfilt2(J); BW= edge(B,'sobel',0.1); BWfill= imfill(BW,'holes'); BWfilt= medfilt2(BWfill); BWfilt2= medfilt2(BWfilt); BWfilt3= medfilt2(BWfilt2); BWfilt4= medfilt2(BWfilt3); BWfilt5= medfilt2(BWfilt4); fig u re , s u b p lot ( 1, 3, 1) , im s h ow( I) ; s u b p lot ( 1, 3, 2) , im s h ow( I2) ; s u b p lot ( 1, 3, 3) , im s h ow( J) ; fig u re , s u b p lot ( 1, 3, 1) , im s h ow( BW) ; s u b p lot ( 1, 3, 2) , im s h ow( BWfill) ; s u b p lot ( 1, 3, 3) , im s h ow( BWfilt 5) ; a= bwarea(BWfilt5); [x,y]= size(I); b= a/ (x*y); if (b> 0)
行差分,把这些差分值累加,于是得到一个 sum 值。这个值就
是我们判断果梗有无的依据。当有果梗时 sum 会在 0 到 -5.
0000e5(估测值)之间,而无果梗的 sum 值是正值,本程序大概
定于 8000 以上。
程序流程:读入图像 → 灰度化图像 →滤波及边缘检测 →
提取轮廓线 →参数Leabharlann Baidu取→ 果梗判断
fprintf(' 有缺陷 '); e ls e
· 80 ·
fprintf(' 无缺陷 '); end
a 原始图片
b 灰度图片
计算机与信息技术
经验与交流
c 灰度变换
sum= sum+ a(i,j); end end if (sum> 8000| | sum< -5.0000e+ 005)
fprintf(' 无果梗 '); e ls e
1 Tao Y, ChanceL, BaorenL .FullScale Fruit Vision Sorting System Design-Factors and Considerations[A]. Proceeding soft the FPAC Con- ference[C]. Chicago, Illinois.1995.14-22
I= imread(' 图片名.jpg'); I2= rgb2gray(I); BW= im2bw(I2,0.9); total= bwarea( ̄ BW) fig u re , s u b p lot ( 1, 3, 1) , im s h ow( I) ; s u b p lot ( 1, 3, 2) , im s h ow( I2) ; s u b p lot ( 1, 3, 3) , im s h ow( BW) ; 如图 1 所示:
关键词 分级; 缺陷; 果梗
0 引言
近年来, 国外在利用计算机视觉技术进行水果品质检测 方面做了大量研究,并获得了许多重要成果;在我国也有许多 研究报导,但到目前为止都处于试验阶段,而且分析方法距实 际应用还有一段距离。特别是在缺陷检测方面,目前采用的方 法处理速度很慢, 在实际在线工作时无法使用。国外学者 (ChengX 等)在识别缺陷时获得成功,但需要同时使用近红外 和中红外摄像设备,这 2 种设备造价之昂贵,使得该方法的应 用受到限制,无法在农业分级设备中广泛应用。因此,研究适 合于生产的分级检测方法有重要意义。
2 田捷, 沙飞, 张新生编著. 实用图像分析与处理技术. 北京: 电 子工业出版社, 1995. 127~129
3 宁素俭, 李强, 杨文志. 计算机视觉轮廓的获取及其尺寸测 量. 农业机械学报, 1996, 27( 2) : 44~49
4 Wen Z, Tao Y. Dual-camera NIR/MIR imaging for stem-end/ca- lyx identification in apple defect sorting. Transaction of ASAE, 2000, 43 (2): 446-452