Advertisement

基于matlab实现的水果识别系统设计

阅读量:

本项目针对多种常见水果混合的图像,利用Matlab进行研究,提出了一种基于数字图像处理的水果识别方法。通过灰度化、二值化、边缘提取和形态学运算,对图像进行预处理和特征提取。采用连通区域标记法获取水果的几何特征,结合RGB和HSV颜色模型提取颜色特征,最终实现对水果的分类识别。实验结果表明,该方法在识别准确率上表现良好,能够有效处理不同光照条件下的图像。

水果识别

摘要:

本项目针对多种常见水果混合的图像,基于Matlab软件平台,致力于研究水果图像识别技术。研究过程中,根据水果图像与背景区域的差异性确定适当的阈值,对经过去噪和对比度增强后的图像进行二值化处理。随后对图像进行边缘检测,随后通过标记化处理,确定连通区域,并结合水果的色彩、形状和尺寸特征进行快速识别,从而构建了基于特征的水果识别系统,最终实现了对不同种类水果的准确分拣。

关键字 :水果识别、MATLAB、数字图像处理

一、设计方案

在计算机领域,图像由像素逐个表示,每个像素点都有确定的坐标位置和色彩数值。通过Matlab软件读取图像,将其以矩阵形式存储,其扫描顺序是从左到右,从上到下。

在处理水果图像时,我们首先将彩色图像转换为灰度图像作为处理的基础。随后,我们对图像进行二值化处理,以提取水果区域的特征信息。

二值化处理可能导致图像边缘断裂,尤其是在水果与背景接触的区域,同时出现毛躁现象。为此,我们采用边缘提取技术来修复断裂的边缘部分。通过数学形态学运算对图像进行断边去除和填充等后续处理。经过图像分割完成后,水果与背景之间的界限变得清晰可见,随后需要提取每种水果的特征。

通过图像标注技术,将图像中相连的像素点赋予相同的编号,这就是图像的标签化处理。经过该处理后,可以将各个连通区域分离出来,从而进行特征分析。

二、关键技术

(一)图像二值化

1、灰度化
复制代码
    % 将真彩色图像 i 转化为灰度图像 I
    I=rgb2gray(i);

在RGB颜色模型中,当R、G、B的值相等时,彩色图像将呈现一种灰度色调,其中R、G、B的值被称为灰度值。由此可知,灰度图像中的每个像素只需占用一个字节来存储灰度值(通常也称为强度值或亮度值),其灰度范围通常为0到255。

2、二值化
复制代码
    % level 为阈(yu) 值,取值从0到1.
    % 本项目考虑到图片背景颜色为白色,亮度较大,因此选取 `level=0.9` 来实现二值化。
    I=im2bw(i,level)

一幅图像由目标物体、背景和噪声构成。常用的方法是设定一个全局阈值T,用T将图像数据分为两部分:大于T的像素群和小于T的像素群。将大于T的像素群的像素值设定为白色(或黑色),将小于T的像素群的像素值设定为黑色(或白色)。

例如,每个像素的RGB平均值为(R+G+B)/3。当该平均值大于127时,将该像素设为白色(R=G=B=255);否则设为黑色(R=G=B=0)。

(二)边缘提取

1、开运算
复制代码
    I=imopen(i,SE);

通过先进行腐蚀操作再进行膨胀操作,可以定义开运算为这一过程。该过程能够有效地将原本连在一起但细微分开的两个目标区域重新连接。

开运算作用:有助于边界变得圆滑,能够去除微小的棱角,切断狭窄的连接处,维持面积大小不变等。

复制代码
    I=imerode(i,SE);

腐蚀运算作用:消除物体边界点,使边界点向内部收缩,可以把小于结构元素的物体去除。

膨胀的作用是什么?它将所有接触物体的背景点合并到物体中,从而使目标体积增大,从而填补目标内部的空隙。

2、数学形态学运算
复制代码
    % bwmorph 函数是对图像进行指定的形态学操作。
    % ‘remove’即代表如果一个像素点的4邻域都为1, 则该像素点将被置0;该选项将导致边界像素上的1被保留下来。
    I=bwmorph(i,'remove');

提取图像种水果的边界用于标记各个区域

(三)水果分类

1、获得连通区域的属性

在Matlab图像处理工具箱中,该函数扮演着至关重要的角色,它是实现图像分析的核心功能函数:regionprops.

为了提取图像区域的特性,该函数用于测量图像区域属性。

复制代码
    STATS =regionprops(L,properties)

阐述测量标注矩阵L中每个标注区域的多个属性。其中,L中的不同正整数元素代表不同的区域,具体来说,L中为整数1的元素代表区域1,L中为整数2的元素代表区域2,依此类推。

该函数用于获取每个水果的中心位置及其外接椭圆的长、短轴长度。中心位置用于计算水果的颜色特征值,以显示水果名称。外接椭圆的长、短轴长度用于计算水果的圆度特征,以判断其大致形状。

2、获取特征并判别函数

本项目基于水果在图像中的表现特点,通过面积、圆度、颜色(RGB和HSV值)特征,对图像中的水果进行特征提取。最后,基于筛选出的特征,对水果进行分类识别。

(1)颜色特征

本项目使用两种计量方式来测得水果的颜色值。

RGB颜色模式

对于彩色图像,可以分解为RGB三色图像。每一副图像中的像素分布情况都反映了颜色的程度信息。常识表明,在上述6种水果中,苹果和桃子的红色含量显著高于其他水果,而西瓜的红色含量最低。

Hsv颜色模式

在该模型中,颜色的变量包括色调(H)、饱和度(S)和明度(V)。HSV模型的三维结构源自RGB立方体的演变。设想将观察者从RGB立方体沿对角线从白色顶点移动至黑色顶点,即可观察到立方体的六边形投影。该六边形的边界体现色彩特征,而纯度和明度分别由水平轴和垂直轴进行量化。

H参数代表色彩信息,即位于光谱颜色位置的参数。该参数通过角度来度量,红、绿、蓝三原色之间相隔120度。其互补色之间相差180度。

纯度S为一个比例值,范围在0到1之间,即表示为所选颜色纯度与其饱和度最高值的比率。当S=0时,仅存在灰度。

V用于度量色彩的明亮程度,其取值范围为0到1。需要注意的是,它与光强度之间并不存在直接的关联关系。

(2)似圆性特征

该方法通过计算每块连通区域的最小外接椭圆的长轴和短轴长度,来评估水果的似圆性。将长轴长度与短轴长度进行比较,计算出两者的比值。当比值越接近1时,水果越接近圆形;当比值显著大于1时,水果则显得较为椭圆。从常识可知,在这6个水果中,西瓜、苹果和桃子的似圆性较高,而香蕉和菠萝的似圆性相对较低。

(3)面积特征

经过图像分割后的不同区域的面积,其像素数量可以直接计算。扫描整幅图像,可以统计所有连通区域的像素数量。根据常识,西瓜在上述6个水果中面积最大,菠萝次之。

3、特征统计表格
原始图像1
原始图像1 梨子 苹果 桃子 香蕉 菠萝
r 0.94 0.80 0.72 1.04 0.55
g 0.81 0.17 0.19 0.85 0.56
b 0.28 0.06 0.13 0.53 0.47
Hsv均值 0.11 0.2 0.5 0.16 0.26
面积 2671 2224 1936 3604 3361
似圆性 1.6 1.1 1.07 1.78 1.55
原始图像2
原始图像2 香蕉 桃子 梨子 西瓜 苹果
r 1.03 1.01 0.9 0.29 1.01
g 0.95 0.99 0.73 0.38 0.99
b 0.20 1.0 0.35 0.22 1.00
Hsv值 0.14 0.25 0.11 0.29 0.89
面积 2191 1572 1387 2914 1443
似圆性 2.2 1.0 1.6 1.0 1.03
原始图像3
原始图像3 苹果 桃子 西瓜 香蕉 梨子
r 0.86 1.07 0.20 0.92 1.02
g 0.19 1.06 0.53 0.31 1.00
b 0.22 1.06 0.30 0.26 0.95
Hsv值 0.63 0.26 0.39 0.12 0.108
面积 1190 1660 2328 1894 1082
似圆性 1.12 1.06 1.13 2.16 1.6921
4、特征选择及最终结果图

梨子

梨子的HSV值处于最小水平,同时考虑到梨子具有柄的结构特点,其形成长径比值在1.4至1.6范围内呈现近似圆形的状态。此外,梨子的R和G值普遍高于0.6,这表明其在视觉感知方面具有较高的饱和度和明度特征。

苹果

苹果的近圆形特征体现在1至1.1的范围内,其中红色素含量较高,而蓝色和绿色素含量较低,这使得其g值和b值普遍低于0.4。

桃子

似圆性在1至1.2之间,hsv的值小于0.6,红色色素较多使得其r值至少为0.7;

香蕉

香蕉的似圆性数值是最大的至少为1.8,且其成黄色,其hsv的值都小于0.2;

菠萝

菠萝的球形度指标仅低于香蕉,位列第二。其hsv值均低于0.3,且红色色素的r值均低于0.7。

西瓜

西瓜的表面积在所有水果中最大,其红色色素含量较低,r值均低于0.4;接近圆形,其形似指数在1至1.2之间。

基于图像中水果所呈现的特征,对图像中的桃子、苹果、香蕉、西瓜、菠萝、梨子等水果的面积、形状以及RGB和HSV值特征进行提取。通过筛选出的特征,对图像中的水果进行分类识别。

识别结果图如下所示:

建议将图片保存后重新上传,以克服来源网站的防盗链保护机制,避免因图片转存失败导致的内容无法显示。

图2的识别结果图
图3的识别结果图

三、完整源码

源码下载

<>

四、结论

就整体表现而言,该系统在水果识别方面表现优异,识别准确率高达95%以上。就亮度变化而言,项目采用了HSV和RGB模型的结合判断,因此在不同光照条件下,识别效果依然保持稳定。整体识别率表现尚可。然而,在获取颜色特征时,由于同时采用HSV和RGB模型的值判断,导致去噪参数设置受到限制,当待识别图片出现较多噪声时,识别效果会有所下降,因此在实际应用中仍需注意参数的合理设置,以确保识别的准确性。

如果不采用HSI模型或RGB模型中的一个,那么在去噪效果上表现得较为明显,但这种选择会导致色彩特征缺失一个维度。对于亮度和暗度变化较大的图像,基于颜色的判断可能会出现偏差,这仍然是一个尚未完全解决的问题。

全部评论 (0)

还没有任何评论哟~