资源简介
一个简单的MATLAB水果识别项目代码,把文件夹放到工作空间,点击运行untitled.m文件,然后选择文件夹里的水果就可以识别水果种类,带简单界面。

代码片段和文件信息
imgdata=imread([imgpathname ‘\‘ imgfilename]);% 打开图片
image(handles.axes1imgdata);
handles.imgfilename=imgfilename;
handles.imgdata=imgdata;
caitu=imread(‘timg.jfif‘);
huitu=rgb2gray(caitu);
yuantu=im2double(huitu);
erzhi=im2bw(yuantugraythresh(yuantu));
%消除噪点%经多次腐蚀膨胀操作目的是为平滑边界
se=strel(‘disk‘10);
erzhi=imopen(erzhise);
%imshow(erzhi)
erzhi=imclose(erzhise);
%提取彩色区域
erzhif=~erzhi;
erzhif=double(erzhif);
caitud=double(caitu);
caituz(::1)=caitud(::1).*erzhif;
caituz(::2)=caitud(::2).*erzhif;
caituz(::3)=caitud(::3).*erzhif;
caituz=uint8(caituz);
daxiao=size(caituz);
caituhsv=rgb2hsv(caituz);
huang=0;hong=0;
for i=1:daxiao(1)
for j=1:daxiao(2)
if erzhi(ij1)==0&&(caituhsv(ij1)>=0.08&&caituhsv(ij1)<=0.24)
huang=huang+1;
elseif erzhi(ij1)==0&&(caituhsv(ij1)>=0.92||caituhsv(ij1)<=0.08)
hong=hong+1;
end
end
end
bianjie=edge(erzhi‘canny‘); %采用Canny算子进行边缘检测
%bianjie=edge(erzhi‘prewitt‘); %采用Prewitt算子进行边缘检测
%ferzhi=imcomplement(erzhi);
tc=imfill(bianjie‘holes‘);%填充白色
round_area = regionprops(tc‘Area‘);%计算面积
girth = regionprops(tc‘Perimeter‘);%计算周长
oval = regionprops(tc‘Eccentricity‘);%计算离心率
juxing=regionprops(tc‘BoundingBox‘);%计算外接矩形
jxmj=cat(1juxing.BoundingBox);
area=cat(1round_area.Area);
zhouc=cat(1girth.Perimeter);
area=max(area);
zhouc=max(zhouc);
yuandu=4.*pi.*area/(zhouc.*zhouc);
lixl=cat(1oval.Eccentricity);
juxingdu=area/(jxmj(3)*jxmj(4));
kuozhandu=min(jxmj(3)jxmj(4))/max(jxmj(3)jxmj(4));
if huang>hong
if yuandu<0.46
zl=‘香蕉‘;
else
zl=‘梨‘;
end
elseif yuandu>0.8
zl=‘苹果‘;
else
zl=‘无法识别‘;
end
set(handles.edit1‘string‘zl);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 109436 2020-05-26 20:10 shuiguoshibie\1525429043-NoMySnkUCc.jpg
文件 26862 2020-05-26 20:09 shuiguoshibie\60478190.jpg
文件 61283 2020-05-26 15:22 shuiguoshibie\apple.jpg
文件 8470 2020-05-22 15:40 shuiguoshibie\banana.jfif
文件 8609 2020-05-26 13:57 shuiguoshibie\banana.jpg
文件 1831 2020-06-06 20:19 shuiguoshibie\daima.m
文件 1855 2020-06-06 20:49 shuiguoshibie\daimadaizhushi.m
文件 7790 2020-05-26 13:36 shuiguoshibie\pear.jfif
文件 6440 2020-05-22 15:45 shuiguoshibie\pear.jpg
文件 30943 2020-05-26 20:12 shuiguoshibie\timg (1).jfif
文件 6721 2020-05-26 20:13 shuiguoshibie\timg (2).jfif
文件 10626 2020-05-26 20:04 shuiguoshibie\u=3251713856403797869&fm=26&gp=0.jpg
文件 21957 2020-05-26 18:03 shuiguoshibie\unti
文件 5922 2020-06-06 20:59 shuiguoshibie\unti
文件 6686 2020-05-26 17:29 shuiguoshibie\unti
文件 1898 2020-06-09 23:07 shuiguoshibie\Unti
目录 0 2020-12-06 21:18 shuiguoshibie
----------- --------- ---------- ----- ----
317329 17
- 上一篇:MATLAB信号处理EEMD工具箱
- 下一篇:PSAT工具软件
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论