1 简介

图像识别主要是研究用计算机代替人去处理大量的物理信息,从而帮助人们建华劳动。机械分类耗时段的特点很符合水果的时间特性。本设计针对多种常见水果混合的图像,利用Matlab软件,对水果的识别进行研究。根据水果和背景的差别选取阈值,对去噪增强对比度后的图像进行二值化处理。再对图像进行边缘检测,选定连通区域,标记后再对不同种水果的颜色,形状,大小等特征进行快速识别水果,从而实现对水果的正确分拣。

在计算机中,图像由像素逐点描述,每个像素点都有一个明确的位置和色彩数值。使用Matlab软件读取图像,以矩阵形式存放图像数据,其扫描规则是从左向右,从上到下。

对于一副水果图像为了处理方便,我们首先要把彩色图像转化为灰度图像。然后对图像进行二值化处理来获得每个水果的区域特征。在水果与背景接触处二值化会导致图像边缘部分有断裂,毛躁的部分。所以采用边缘提取以弥补断裂的边缘部分,然后基于数学形态算子对图像进行去除断边,图像填充等必要的后续处理。

经过图像分割后,水果和背景很明显地被区分开来,然后需要对每种水果的特征进行提取。先对图像进行标签化,所谓图像的标签化是指对图像中互相连通的所有像素赋予同样的标号。经过标签化处理就能把各个连通区域进行分离,从而可以研究它们的特征。

2 部分代码


          
          
clc;
  • 1.

          
          
clear all;
  • 1.

          
          
img=imread('3.bmp');
  • 1.

          
          
R=img(:,:,1); %获取彩色图像的r值。
  • 1.

          
          
G=img(:,:,2); %获取彩色图像的g值。
  • 1.

          
          
B=img(:,:,3); %获取彩色图像的b值。
  • 1.

          
          
I2=rgb2gray(img); %将图像灰度化。
  • 1.

          
          
figure,imshow(I2),title('灰度图像');
  • 1.

          
          
BW=im2bw(I2,0.9); %将图像二值化。
  • 1.

          
          
SE=strel('rectangle',[40 30]); % 结构定义
  • 1.

          
          
J2=imopen(BW,SE); % 进行开运算去除噪声和平滑边界
  • 1.

          
          
figure,imshow(J2),title('对二值图像进行开运算后的结果图像');
  • 1.

          
          
SE=strel('square',3); % 定义3×3腐蚀结构元素
  • 1.

          
          
J=imerode(~J2,SE); %对图像进行腐蚀操作。
  • 1.

          
          
BW2=(~J2)-J; % 检测边缘
  • 1.

          
          
%填充了已有的检测的连续形状边界
  • 1.

          
          
B = imfill(BW2,'holes'); %对图像填充孔洞。
  • 1.

          
          
B = bwmorph(B,'remove'); %获得图像中区域边界。
  • 1.

          
          
%将不同的图形进行分别标记,num表示连接的图形对象的个数
  • 1.

          
          
[Label,num] = bwlabel(B); %进行标记。
  • 1.

          
          
for i = 1 : num
  • 1.

          
          
Area(i) = 0;
  • 1.

          
          
end
  • 1.

          
          
Label = imfill(Label,'holes'); %填充打过标记的边界线中间围成的图形区域
  • 1.

          
          
%显示最终分类结果图。
  • 1.

          
          
figure,imshow(img);
  • 1.

          
          
%梨子分类算法
  • 1.

          
          
for i=1:num
  • 1.

          
          
if(MeanHue(i)==y && yuan(i)>1.3 && r(i)>0.7 && g(i)>0.7)
  • 1.

          
          
text(stats(i).Centroid(1),stats(i).Centroid(2),'梨子');
  • 1.

          
          
end
  • 1.

          
          
end
  • 1.

          
          
%苹果分类算法
  • 1.

          
          
for i=1:num
  • 1.

          
          
if(r(i)>0.75 && yuan(i)<1.15 && g(i)<0.4 && b(i)<0.3)
  • 1.

          
          
text(stats(i).Centroid(1),stats(i).Centroid(2),'苹果');
  • 1.

          
          
end
  • 1.

          
          
end
  • 1.

          
          
%桃子分类算法
  • 1.

          
          
for i=1:num
  • 1.

          
          
if(MeanHue(i)<0.6 && yuan(i)<1.25 && r(i)>0.7 &&b(i)>0.1)
  • 1.

          
          
text(stats(i).Centroid(1),stats(i).Centroid(2),'桃子');
  • 1.

          
          
end
  • 1.

          
          
end
  • 1.

          
          
%香蕉分类算法
  • 1.

          
          
for i=1:num
  • 1.

          
          
if(MeanHue(i)<0.2 && yuan(i)>1.7)
  • 1.

          
          
text(stats(i).Centroid(1),stats(i).Centroid(2),'香蕉');
  • 1.

          
          
end
  • 1.

          
          
end
  • 1.

          
          
%菠萝分类算法
  • 1.

          
          
for i=1:num
  • 1.

          
          
if(MeanHue(i)<0.3 && yuan(i)>1.4&& r(i)<0.8 )
  • 1.

          
          
text(stats(i).Centroid(1)+30,stats(i).Centroid(2)+30,'菠萝');
  • 1.

          
          
end
  • 1.

          
          
end
  • 1.

          
          
%西瓜分类算法
  • 1.

          
          
for i=1:num
  • 1.

          
          
if( stats(i,1).Area==x && yuan(i)<1.25&& r(i)<0.4)
  • 1.

          
          
text(stats(i).Centroid(1),stats(i).Centroid(2),'西瓜');
  • 1.

          
          
end
  • 1.

          
          
end
  • 1.

3 仿真结果

【图像识别】基于HSV和RGB模型水果分类matlab代码_彩色图像

【图像识别】基于HSV和RGB模型水果分类matlab代码_分类算法_02

【图像识别】基于HSV和RGB模型水果分类matlab代码_分类算法_03

4 参考文献

[1]王明迁, 李丹阳, 郝威凯,等. 基于HSV颜色模型的图像识别技术研究[J]. 科技资讯, 2020, 18(35):3.

**部分理论引用网络文献,若有侵权联系博主删除。**