苹果分类基于matlab机器视觉苹果疾病识别分类含Matlab源码 2325期

Posted 海神之光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了苹果分类基于matlab机器视觉苹果疾病识别分类含Matlab源码 2325期相关的知识,希望对你有一定的参考价值。

⛄一、简介

0 引言
苹果分级是根据苹果大小、形状、色泽和表面缺陷等几个方面进行的。当前成熟的分级方法是质量分级和大小分级。这两种分级方法实现了苹果分级的部分自动化,分级过程中的形状、色泽和表面缺陷检测和分类依然靠人工进行。随着数字图像处理不断发展,人们开始研究将其应用于苹果自动分级过程中,如有形状判别、色泽测量和表面缺陷检测等方面研究。苹果表面缺陷自动检测与分类是实现苹果完全自动分级的关键一步。目前较多是对苹果表面缺陷的检测方法研究。笔者是在表面缺陷区域已确定的基础上,研究如何将表面缺陷进行分类,以满足苹果分级标准的要求,从而为实现苹果全自动分级奠定基础。

1缺陷检测
由苹果光学反射特性可知:在近红外波(750~1100 nm)段内,苹果表面反射系数与表面颜色无关;正常表面反射系数比有缺陷表面反射系数大。因此,为了避免颜色对表面缺陷检测与确定影响,减少缺陷区域检测与判别复杂性,苹果表面缺陷图像检测一般在近红外波段进行。

工业黑白CCD摄像机的光谱响应范围为400~1100 nm,在该摄像机镜头前加一窄带近红外滤波片,其带通中心波长为815 nm,带宽为20 nm,于是可获得近红外图像。苹果的近红外图像经计算机系统中的图像采样变为灰度等级为256的数字图像。

在计算机中,通过相应算法可将缺陷区域自动检测出来。经过缺陷检测,缺陷区域基本描述有区域面积S、区域最小深度Dmin和区域形心(I,J)。其中:缺陷区域面积S定义为
S=n(1)Δ2 (1)
式中 n(1)——缺陷区域中标记为“1”的缺陷点个数; Δ——像素的间距。
最小深度Dmin定义为
Dmin=Femin-Fmin (2)
式中 Femin为缺陷区域边缘的最小灰度值; Fmin——缺陷区域内的最小灰度值。
区域形心(I,J)定义为

(3)
其中 M(p,q)——缺陷区域二值图像B(i,j)的p、q统计矩,其为

2缺陷分类
2.1特征参数

苹果分级标准将苹果表面缺陷分为碰压伤、刺伤、裂果、病虫果和虫伤等[1,2],仅依据缺陷区域面积S、区域最小深度 和区域形心(I,J)难以有效地进行缺陷分类,为此引入圆形因子、长形因子和区域宽度等形状因子来表征缺陷区域形状特征。

圆形因子O(B)定义为

式中 S——区域面积; L——区域周长。区域形状越近于圆,圆形因子越接近4π。

对于等距采样的图像,长形因子L(B)定义为

图1 图像上的8个搜索方向
区域宽度W(B)定义:设区域在θ方向上获得最大投影长度,区域在θ+π2方向上的投影长度则为区域宽度,其为

至此,用区域宽度W(B)、长形因子L(B)、圆形因子O(B)、区域形心(I,J)、区域最小深度Dmin和区域面积S等特征参数表征苹果表面缺陷的特征。

2.2 分类方法
有关苹果缺陷信息有:苹果碰压伤一般呈近圆形,裂果和刺伤呈长形[13],裂果由于果肉暴露,在近红外波段其反射系数介于正常表面和缺陷表面之间,其灰度值较碰压伤的灰度值大,即裂果区域深度较浅,但这还与区域面积和区域位置有关。此外裂果区域宽度较刺伤区域宽。病虫果虫孔呈小圆形,且区域灰度值较低,区域深度较深。新虫伤则区域深度较浅。

缺陷区域在苹果图像上的位置不同,其特征形状是变化的。这种变化是一种投影畸变,产生原因是果面的的法线与摄像机视场存在夹角。如有一呈圆形的碰压伤,如果该碰压伤在苹果图像的中心区域,则呈圆形;如果在非中心区域,则该碰压伤可能会呈椭圆形或长形。因此分类设计时必须考虑缺陷区域形状畸变问题。

缺陷分类是一个多模式分类问题,利用二叉树(决策)方法可把一个复杂多模式分类问题化为多级多个二类模式分类问题。因此基于此思想以及利用有关缺陷分类的启发信息和考虑形状畸变,故提出了图2所示的缺陷分类方法。

分类方法不是企图用一种算法或一个决策规则把多个模式一次分开,而是采用分级的形式使多模式分类问题逐步得到解决,是把多模式分类问题分解为若干个逻辑上相对独立、简单的子分类问题,部分子分类的分类知识则通过计算机的自学习获取。

考虑区域形状畸变,因此在分类设计中,将苹果图像分为图3所示的Ⅰ、Ⅱ 2个区域。当缺陷区域形心在Ⅰ区范围内,则选中心区域判别路径进行分类,当缺陷区域形心在Ⅱ区范围内,则选非中心区域判别路径进行分类。非中心区域的分类方法与中心区域的分类方法虽然在形式上相似,但由于畸变原因,实际上是有差别的。

在中心区域,圆形与长形分类决策规则是:如果区域的圆形因子O(B),小于阈值To;同时长形因子L(B)小于阈值TL,则区域为圆形,否则区域为长形。

图2 缺陷分类方法

图3 苹果两个区域及处理窗口
上述决策规则同样用于非中心区域的(椭)圆形与长形的分类,只是判别阈值不同。

中心区域条件下,圆形深度分类,长形宽度、深度、面积分类1及非中心区域条件下(椭)圆形深度分类,长形宽度、深度、面积分类2等是采用人工神经网络进行。圆形面积判别和椭圆面积判别则采用阈值判别。

⛄二、部分源代码

clc;
clear all;
close all;
warning off all;

%% Read input image

[f,p] = uigetfile(‘.jpg;.bmp’);
I = imread([p f]);
I = imresize(I,[256 256]);

%% Image segmentation

%% rgb to lab color space conversion

im = I;
R = im(:,:,1);
G = im(:,:,2);
B = im(:,:,3);

figure(‘name’,‘输入图片结果’);
subplot(221);imshow(I,[]);title(‘输入图片’);
subplot(222);imshow(R,[]);title(‘红色波段图像’);
subplot(223);imshow(G,[]);title(‘绿色波段图像’);
subplot(224);imshow(B,[]);title(‘蓝色波段图像’);

[L, a, b] = RGB2Lab(R, G, B);

figure(‘name’,‘RGB转LAB颜色空间结果’);
subplot(131);imshow(L,[]);title(‘L颜色空间结果’);
subplot(132);imshow(a,[]);title(‘a颜色空间结果’);
subplot(133);imshow(b,[]);title(‘b颜色空间结果’);
labb = cat(3,L,a,b);
cform = makecform(‘srgb2lab’);
lab = applycform(I,cform);

figure(‘name’,‘输入图片 & Lab颜色空间结果’);
subplot(121);imshow(I,[]);title(‘输入RGB图片’);
subplot(122);imshow(lab);title(‘Lab颜色空间结果’);

ll = lab(:,:,1);
aa = lab(:,:,2);
bb = lab(:,:,3);

%% K-Means segmentation

cl = 4;
[ABC,c] = k_means(ll,cl);
[d,e]=size©;
for i=1:d
for j=1:e
if c(i,j)==3
new(i,j)=0;
else
new(i,j)=c(i,j);
end
end
end

[m1,s5] = size(new);
for i = 1:m1
for j = 1:s5
if new(i,j) == 0
new1(i,j,1:3) = I(i,j,1:3);
else
new1(i,j,1:3) = 0;
end
end
end

⛄三、运行结果







⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]刘禾,汪懋华.基于数字图像处理的苹果表面缺陷分类方法[J].农业工程学报. 2004,(06)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

以上是关于苹果分类基于matlab机器视觉苹果疾病识别分类含Matlab源码 2325期的主要内容,如果未能解决你的问题,请参考以下文章

疾病识别基于matlab GUI SVM农作物叶子虫害识别与分类含Matlab源码 1322期

病害识别基于matlab随机森林苹果病害识别含Matlab源码 2211期

病害识别基于matlab随机森林苹果病害识别含Matlab源码 2211期

疾病识别基于matlab GUI机器视觉肺癌检测系统含Matlab源码 1922期

疾病分类基于matlab农作物叶子虫害识别与分类含Matlab源码 624期

水果识别基于matlab GUI苹果质量检测及分级系统(带面板)含Matlab源码 1613期