资源简介
一个简单的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工具软件
相关资源
- PSAT工具软件
- MATLAB信号处理EEMD工具箱
- VANET仿真,用matlab实现仿真测试的源码
- 针对栅格路径规划的蚁群算法MATLAB
- 基于傅里叶叠层的图像重建算法matl
- ieee14节点的潮流计算
- 四元数(quaternion)的Matlab工具箱
- madgwick_传感器融合算法_matlab
- 灰狼优化算法求解柔性作业车间问题
- 遗传算法GA车间调度Matlab代码
- EMD matlab实现源码
- 贝叶斯分类器Matlab实现113478
- matlab模板匹配车牌识别
- 刘慧颖 MATLAB R2007基础教程
- MATLAB电机仿真精华50例源代码
- zw_支持向量机与朴素贝叶斯算法matl
- 循环码编码
- jnd算法,最小可觉差
- 基于matlab的手势识别系统
- 空间面板计量
- matlab编写的有限元杆的计算
- 关于通过功率谱分析提取信号周期的
- 功率谱MATLAB程序
- 信息论大作业 LZ78算法编译码 matlab仿
- 语音增强—matlab
- 果蝇参数寻优FOA-LSSVM的完整程序
- MATLAB超声传感阵列仿真
- 利用WOA算法优化libsvm中SVDD算法的参数
- 跳频通信系统MATLAB仿真
- 蚁群算法实现三维路径规划Matlab源码
评论
共有 条评论