資源簡(jiǎn)介
matlab水果識(shí)別程序,可測(cè)試多幅圖片,可用。配有完整代碼,報(bào)告,圖片。
代碼片段和文件信息
clear;clc;close?all;
%%%%%%%%%%%%%%%%%?讀取原圖,并處理成二值圖像?%%%%%%%%%%%%%%%%%%%%%%%
%I=imread(‘梨2.jpg‘);
%I=imread(‘桃子2.jpg‘);
%I=imread(‘蘋果2.jpg‘);
%I=imread(‘香蕉.jpg‘);
%I=imread(‘青椒.jpg‘);
I=imread(‘test4.jpg‘);
I2=rgb2gray(I);
BW=im2bw(I20.9);
figure(1)subplot(131)imshow(I)title(‘原始圖像‘);
subplot(132)imshow(I2)title(‘灰度圖像‘);
subplot(133)imshow(BW)title(‘二值圖像‘);
%%%%%%%%%%%%%%%%?進(jìn)行邊緣檢測(cè)?得到不連續(xù)的圖形邊界?%%%%%%%%%%%%%%%%%%%%%%
%得到各個(gè)圖形的連續(xù)邊界
SE=strel(‘rectangle‘[40?30]);??%?結(jié)構(gòu)定義
J2=imopen(BWSE);????????????%?開啟運(yùn)算
figure(2)imshow(J2)title(‘對(duì)二值圖像進(jìn)行開運(yùn)算‘);
SE=strel(‘square‘5);?%?采用方形結(jié)構(gòu)元素進(jìn)行腐蝕
J=imerode(~J2SE);
BW2=(~J2)-J;????????%?檢測(cè)邊緣
figure(3)imshow(BW2)title(‘邊緣檢測(cè)‘);
%填充了已有的檢測(cè)的連續(xù)形狀邊界
B?=?imfill(BW2‘holes‘);%圖像填充
B?=?bwmorph(B‘remove‘);%移除內(nèi)部像素
figure(4)imshow(B)title(‘提取出的邊界圖像‘);
%將不同的圖形進(jìn)行分別標(biāo)記,num表示連接的圖形對(duì)象的個(gè)數(shù)
[Labelnum]?=?bwlabel(B8);
%%%%%%%%%%%%%%%%%%%計(jì)算各個(gè)圖形單元邊界像素點(diǎn)數(shù)%%%%%%%%%%%%%%%%%%%%%%%%%%%
????for?i?=?1?:?num
????????Premeter(i)?=?0;
????end
????[rowcol]?=?size(Label);
????for?i?=?1?:?row
????????for?j?=?1?:?col
????????????if(Label(ij)?>?0)
????????????????Premeter(Label(ij))?=?Premeter(Label(ij))?+?1;%計(jì)算標(biāo)記后的各塊圖形邊界中像素的個(gè)數(shù)的總數(shù)
????????????end
????????end
????end
%%%%%%%%%%%%%%%%%%%?計(jì)算各個(gè)圖形單元的面積%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
FilledLabel?=?imfill(Label‘holes‘);??%填充標(biāo)記過(guò)的邊界線中間圍成的圖形區(qū)域
figureimshow(FilledLabel)title(‘標(biāo)記過(guò)并被填充的結(jié)果‘);
for?i?=?1?:?num
????Area(i)?=?0;
end
[rowcol]?=?size(FilledLabel);
for?i?=?1?:?row
????for?j?=?1?:?col
????????if(FilledLabel(ij)?>?0)
????????????Area(FilledLabel(ij))?=?Area(FilledLabel(ij))?+?1;???%通過(guò)統(tǒng)計(jì)像素點(diǎn)個(gè)數(shù)的方式來(lái)求各形狀的面積
????????end
????end
end
%%%%%%%%%%%%%%%%%%?計(jì)算各個(gè)圖形單元的圓度?%%%%%%%%%%%%%%%%%%%%%%%%%%
for?i?=?1?:?num?????
????Ecllipseratio(i)?=?4*pi*Area(i)/Premeter(i)^2;
end
%%%%%%%%%%%%%%%%%%%%?計(jì)算各個(gè)圖像的色度?%%%%%%%%%%%%%%%%%%%%%
HSV?=?rgb2hsv(I);???%轉(zhuǎn)換為HSV,為后面的色度元素的提取做準(zhǔn)備
[rowcol]?=?size(FilledLabel);???%統(tǒng)計(jì)填充后的圖形中各塊圖形所含像素的個(gè)數(shù)的多少
MeanHue?=?zeros(1num);
????for?i?=?1?:?num
????????Hue?=?zeros(Area(i)1);
????????nPoint?=?0;
????????for?j?=?1?:?row
????????????for?k?=?1?:?col
????????????????if(FilledLabel(jk)?==?i)
????????????????????nPoint?=?nPoint?+?1;
????????????????????Hue(nPoint1)?=?HSV(jk1);
????????????????end
????????????end
????????end
????????
????????Hue(:i)?=?sort(Hue(:1));
????????for?j?=?floor(nPoint*0.1)?:?floor(nPoint*0.9)
????????????MeanHue(i)?=?MeanHue(i)?+?Hue(j1);
????????end
????????MeanHue(i)?=?MeanHue(i)?/?(0.8*nPoint);??%計(jì)算出平均的色度值
????end
????
%%%%%%%%%%%%%%%%%%%%%%%%?各種水果識(shí)別?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%識(shí)別梨,在二維特征空間對(duì)各個(gè)圖像進(jìn)行類別區(qū)分
pear=0;result1=0;
for?i=1:num
????if(MeanHue(i)<0.125)??%判斷各個(gè)圖形中平均色度值小于0.125的為梨
????????pear=i;
????????result1=1;
????end
end
%對(duì)分出來(lái)的梨構(gòu)建相應(yīng)的圖像掩膜,并用對(duì)原圖的亮度圖像進(jìn)行掩膜操作
pearHSV=HSV;
????????for?j?=?1?:?row
????????????for?k?=?1?:?col
????????????????if(FilledLabel(jk)?~=pear)
???????????????????pearHSV(jk3)=0;
????????????
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-05-04?11:04??大設(shè)計(jì)\
?????文件????????5191??2014-05-03?21:10??大設(shè)計(jì)\final.m
?????文件???????23733??2014-05-03?10:27??大設(shè)計(jì)\test1.jpg
?????文件???????20824??2014-05-02?22:48??大設(shè)計(jì)\test2.jpg
?????文件???????18189??2014-05-03?09:11??大設(shè)計(jì)\test3.jpg
?????文件???????81877??2014-05-03?10:35??大設(shè)計(jì)\test4.jpg
?????文件?????1401421??2014-05-04?10:54??大設(shè)計(jì)\大設(shè)計(jì)報(bào)告.docx
?????文件??????923905??2014-05-04?10:56??大設(shè)計(jì)\大設(shè)計(jì)報(bào)告.pdf
?????文件????????5776??2014-05-02?14:52??大設(shè)計(jì)\無(wú).png
?????文件???????17213??2014-05-03?10:10??大設(shè)計(jì)\桃子1.jpg
?????文件???????14903??2014-05-03?09:37??大設(shè)計(jì)\桃子2.jpg
?????文件????????6996??2012-10-25?08:59??大設(shè)計(jì)\梨1.jpg
?????文件???????22336??2014-05-03?10:15??大設(shè)計(jì)\梨2.jpg
?????文件????????9356??2014-05-02?16:41??大設(shè)計(jì)\蘋果1.jpg
?????文件???????19645??2014-05-02?16:44??大設(shè)計(jì)\蘋果2.jpg
?????文件???????12359??2014-05-02?21:00??大設(shè)計(jì)\青椒.jpg
?????文件???????35508??2012-10-24?18:25??大設(shè)計(jì)\香蕉.jpg
評(píng)論
共有 條評(píng)論