版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
智能圖像處理與分析識(shí)別
《智能圖像處理與分析識(shí)別》工程應(yīng)用-米粒檢測(cè)11.1米粒圖像預(yù)處理11.2米粒圖像輪廓提取11.3米粒圖像特征提取11.4米粒分類《智能圖像處理與分析識(shí)別》背景
食品檢測(cè)在國(guó)家糧食安全中擁有舉足輕重的地位。隨著經(jīng)濟(jì)全球化程度的深入,中國(guó)巨大的市場(chǎng)消費(fèi)力將吸引越來越多的國(guó)際米類品牌的進(jìn)入,國(guó)內(nèi)糧食市場(chǎng)的競(jìng)爭(zhēng)將會(huì)日趨激烈,人們?cè)絹碓阶⒅丶Z食的安全和品質(zhì)問題,糧食質(zhì)量檢測(cè)的市場(chǎng)潛力和發(fā)展空間日益顯著。在糧食工業(yè)生產(chǎn)過程中,視覺檢測(cè)可以代替人工檢測(cè),視覺檢測(cè)方法即能夠準(zhǔn)確識(shí)別有質(zhì)量問題的產(chǎn)品,又能夠減輕操作者勞動(dòng)強(qiáng)度,提高檢測(cè)效率和準(zhǔn)確率,對(duì)完善“精細(xì)農(nóng)業(yè)”具有重要意義。11.1米粒圖像預(yù)處理
由于拍攝背景會(huì)受到光照影響而深淺不一,因此先要對(duì)圖像進(jìn)行預(yù)處理,為后面米粒圖像分割、特征提取、分類檢測(cè)做準(zhǔn)備。預(yù)處理主要包括的內(nèi)容為:背景處理、圖像灰度化、圖像二值化、圖像去噪、圖像孔洞填充。米粒原圖圖像讀取的Matlab程序代碼如下:
Img0=imread('mi.jpg');figure,imshow(Img0);title(‘原圖’);11.1米粒圖像預(yù)處理11.1.1圖像背景均勻化
為了使二值化后的圖像能夠清楚地顯示出黑白的位置,需要將圖片背景色的亮度調(diào)整到相同顏色。觀察原圖,可以發(fā)現(xiàn)圖像中心位置背景亮度強(qiáng)于其他部分亮度。因此需要先提取背景圖像,再?gòu)脑瓐D中減去背景圖像,以得到背景均勻的圖像。圖像背景提取的Matlab代碼程序如下:Se=strel(‘disk’,35);Background=imopen(Img0,se);Figure,imshow(background);Title(‘背景圖像');提取的背景圖像11.1米粒圖像預(yù)處理
接著,從原始圖像中減去提取的背景圖像,即可得到具有均勻背景的米粒圖像。去除圖像背景的Matlab代碼如下所示:Img=Img0-background;figure,imshow(Img);title('去背景圖');背景均勻化圖像11.1米粒圖像預(yù)處理11.1.2圖像二值化
對(duì)圖像進(jìn)行二值化處理,以更好的分割出米粒所在的區(qū)域,方便后續(xù)米粒輪廓提取。圖像的二值化使圖像變得簡(jiǎn)單,而且數(shù)據(jù)量減小,能凸顯出感興趣目標(biāo)的輪廓。對(duì)米粒圖像進(jìn)行二值化的Matlab程序代碼如下:I=rgb2gray(Img);figure,imshow(I);title('灰度圖');bw=imbinarize(I);figure,imshow(bw);title('二值化圖');灰度圖二值圖11.1米粒圖像預(yù)處理11.1.3圖像去噪及米粒填充由于拍攝的圖像存在一些污點(diǎn)噪聲,使得二值圖中的背景上存在一些白色噪聲,還有部分米粒區(qū)域出現(xiàn)黑色的小噪點(diǎn)。為了更好的提取米粒目標(biāo)區(qū)域,需要對(duì)二值圖進(jìn)行圖像去噪和米粒填充處理。處理背景噪聲時(shí),除了需要考慮一些污點(diǎn)產(chǎn)生的小像素,還需要注意一些面積遠(yuǎn)遠(yuǎn)大于米粒的一些噪聲。在去除大對(duì)象時(shí)選用removeLargeArea()函數(shù),去除小對(duì)象時(shí)選用bwareaopen()函數(shù)。針對(duì)米粒填充,則采用孔洞填充的方法填充米粒中的一些孔洞。11.1米粒圖像預(yù)處理圖像去噪及米粒填充的Matlab程序代碼如下:%%去噪bw=removeLargeArea(bw,8000);%去除二值圖像中的大對(duì)象bw=bwareaopen(bw,300,8);%去除二值圖像中的小對(duì)象figure,imshow(bw);title('去噪后圖像');%%孔洞填充%填充中的間隙。%創(chuàng)建一個(gè)盤形結(jié)構(gòu)元素,指定10像素的半徑,以便填充最大的間隙。se=strel('disk',1);bw=imclose(bw,se);%閉運(yùn)算%填充任何孔洞bw=imfill(bw,'holes');figure,imshow(bw);title('填充圖像')去噪后圖像填充圖像11.2米粒圖像輪廓提取采用bwboundaries()函數(shù)對(duì)二值圖像中的米粒進(jìn)行輪廓提取,函數(shù)內(nèi)的參數(shù)選用‘noholes’能夠避免搜索圖像內(nèi)部輪廓,從而加快處理速度。bwboundaries()返回兩個(gè)參數(shù)。第一個(gè)返回參數(shù)B表示邊界像素位置的單元格,B是一個(gè)P×1的數(shù)組,其中P代表連通體的個(gè)數(shù),B內(nèi)每一行是一個(gè)Q×2的矩陣,Q內(nèi)每一行表示連通體的邊界像素的位置坐標(biāo)(第一列是縱坐標(biāo)Y,第二列是橫坐標(biāo)X),Q為邊界像素的個(gè)數(shù)。第二個(gè)參數(shù)L表示標(biāo)簽矩陣,其中標(biāo)記了對(duì)象和孔。采用label2rgb函數(shù)對(duì)標(biāo)簽進(jìn)行顏色轉(zhuǎn)換,格式為:label2rgb(L,map,zerocolor)。其中,L為要轉(zhuǎn)換的標(biāo)簽矩陣;map可取值為@gray或者@jet,@gray為灰度條,@jet為彩色條,即變?yōu)椴噬珗D像;zerocolor為標(biāo)記0的顏色,[.5.5.5]即將標(biāo)記0的顏色設(shè)為[0.50.50.5]。缺省值為[111],即白色。11.2米粒圖像輪廓提取米粒圖像輪廓提取的Matlab程序代碼如下:[B,L]=bwboundaries(bw,'noholes');figure,imshow(label2rgb(L,@jet,[0.50.50.5]))%為每個(gè)閉合圖形設(shè)置顏色顯示holdonN=length(B);%N等于元組B的長(zhǎng)度,也等于米粒的個(gè)數(shù)fork=1:N%for循環(huán)在這里的作用是給所有輪廓進(jìn)行描邊boundary=B{k};%將每一個(gè)輪廓的像素坐標(biāo)賦值給boundaryplot(boundary(:,2),boundary(:,1),'b','LineWidth',1)endtitle('輪廓圖')輪廓提取圖11.3米粒圖像特征提取通過觀察米粒原圖,發(fā)現(xiàn)米粒的圓形度、長(zhǎng)寬比、顏色等參數(shù)特征能夠較好的區(qū)別不同種類的米粒。在完成圖像預(yù)處理和輪廓提取后,就可以對(duì)這些參數(shù)進(jìn)行計(jì)算了。圓形度的計(jì)算公式如第八章所示,面積乘上4π除以周長(zhǎng)的平方。在輪廓提取的基礎(chǔ)上,可利用regionprops()函數(shù)可以獲取圖像的面積和周長(zhǎng),進(jìn)而計(jì)算圓形度。長(zhǎng)寬比可利用最小外接矩形來計(jì)算。調(diào)用minboundrect()函數(shù)可以獲取連通區(qū)域的最小外接矩形,其返回值有四個(gè),第一個(gè)返回值rectx表示從矩形右上角開始順時(shí)針旋轉(zhuǎn)的依次四個(gè)點(diǎn)的橫坐標(biāo)值,第二個(gè)返回值recty表示從矩形右上角開始順時(shí)針旋轉(zhuǎn)的依次四個(gè)點(diǎn)的縱坐標(biāo)值,第三個(gè)返回值area表示矩形的面積,第四個(gè)返回值perimeter表示矩形的周長(zhǎng)。由于米粒表面顏色較為均勻,因此顏色特征可以用顏色的一階矩來表示,即米粒區(qū)域RGB顏色的平均值。利用mean2()函數(shù)來獲取每一個(gè)通道的像素平均值,mean2()函數(shù)相當(dāng)于對(duì)整個(gè)輪廓矩陣求像素的平均值。11.3米粒圖像特征提取%%提取特征%找到測(cè)量圖像區(qū)域的屬性(中心,面積,圓形度等)stats=regionprops(L,'ALL');CirRatio=zeros(1,N);%圓形度%計(jì)算圓形度fork=1:NCirRatio(k)=4*pi*stats(k,1).Area/(stats(k,1).Perimeter)^2;stats(k,1).metric=CirRatio(k);end%求最小外接矩、RGB一階矩和長(zhǎng)寬比[labelpic,num]=bwlabel(bw,8);%stats=regionprops(L,'ALL');figure,holdon;imshow(bw);ratio1=[];ratio2=[];ratio3=[];lenwidth=[];11.3米粒圖像特征提取fori=1:num[r,c]=find(labelpic==i);%最小外接矩形,%'a'是按最小面積算,如果按邊長(zhǎng)算,用'p'[rectx,recty,area,perimeter]=minboundrect(c,r,'a');x=min(round(rectx)):max(round(rectx));y=min(round(recty)):max(round(recty));xx=sqrt((rectx(4)-rectx(1))*(rectx(4)-rectx(1))+...(recty(4)-recty(1))*(recty(4)-recty(1)));yy=sqrt((rectx(4)-rectx(3))*(rectx(4)-rectx(3))+...(recty(4)-recty(3))*(recty(4)-recty(3)));%長(zhǎng)寬比ifxx>yychang=xx;kuan=yy;elsechang=yy;kuan=xx;end
lwlw=chang/kuan;lenwidth=[lenwidth,lwlw];%添加到長(zhǎng)寬比矩陣%顏色矩Img1=Img(y,x,1);Img2=Img(y,x,2);Img3=Img(y,x,3);ratio1=[ratio1,mean2(Img1)];%R通道一階矩ratio2=[ratio2,mean2(Img2)];%G通道一階矩ratio3=[ratio3,mean2(Img3)];%B通道一階矩end%%構(gòu)建特征矩陣FeatureFeature=[];Feature=double(Feature);metric=[stats.metric];%圓形度%將R通道的像素值減B通道的像素值作為一個(gè)特征Feature1=ratio1-ratio3;%將B通道的像素值減R通道的像素值作為一個(gè)特征Feature2=ratio3-ratio1;Feature=[Feature1',Feature2',metric',lenwidth'];11.4米粒分類
米粒分類檢測(cè)采用Kmeans聚類算法。在Matlab中,聚類函數(shù)kmeans()的返回值有四個(gè),第一個(gè)返回值idx表示聚類結(jié)果,第二個(gè)返回值C表示聚類中心,第三個(gè)返回值SUMD表示每一個(gè)樣本到該聚類中心的距離和,第四個(gè)返回值D表示每一個(gè)樣本到各個(gè)聚類中心的距離。利用Kmeans聚類算法對(duì)米粒圖像進(jìn)行分類檢測(cè)的Matlab程序代碼如下:Feature=mapminmax(Feature',0,1)';%按列最小最大規(guī)范化到[0,1]opts=statset('Display','final');%要顯示的輸出級(jí)別,final顯示最終迭代結(jié)果[idx,C,sumD,D]=kmeans(Feature,3,'dist','sqEuclidean','Replicates',8);%聚類%idx:聚類結(jié)果%C:聚類中心%SUMD:每一個(gè)樣本到該聚類中心的距離和%D:每一個(gè)樣本到各個(gè)聚類中心的距離temp1=find(idx==1);temp2=find(idx==2);temp3=find(idx==3);cout1=sprintf('%d',length(temp1));%計(jì)數(shù)cout2=sprintf('%d',length(temp2));cout3=sprintf('%d',length(temp3));11.4米粒分類figure,subplot(1,2,1),imshow(Img0);title('原圖');subplot(1,2,2),imshow(Img);title(['聚類結(jié)果:第一類',cout1,'個(gè),'...'第二類',cout2,'個(gè),','第三類',cout3,'個(gè)']);fori=1:N[r,c]=find(L==i);[rectx,recty,area,perimeter]=minboundrect(c,r
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鹽城2025年江蘇鹽城射陽(yáng)縣教育局下屬事業(yè)單位招聘教師5人筆試歷年參考題庫(kù)附帶答案詳解
- 溫州2025年浙江溫州瑞安市人民檢察院聘用制書記員招錄筆試歷年參考題庫(kù)附帶答案詳解
- 江西2025年江西生物科技職業(yè)學(xué)院招聘人事代理人員筆試歷年參考題庫(kù)附帶答案詳解
- 恩施2025年湖北恩施州巴東縣教育局所屬部分城區(qū)學(xué)校選調(diào)教師22人筆試歷年參考題庫(kù)附帶答案詳解
- 平頂山2025年河南汝州市紀(jì)委監(jiān)委機(jī)關(guān)所屬事業(yè)單位選調(diào)11人筆試歷年參考題庫(kù)附帶答案詳解
- 安康2025年陜西省安康市縣直及縣城周邊學(xué)校(單位)選聘教師44人筆試歷年參考題庫(kù)附帶答案詳解
- 嘉興浙江嘉興職業(yè)技術(shù)學(xué)院海鹽學(xué)院招聘編制外工作人員筆試歷年參考題庫(kù)附帶答案詳解
- 臺(tái)州浙江臺(tái)州玉環(huán)市文化館招聘編外工作人員筆試歷年參考題庫(kù)附帶答案詳解
- 職業(yè)人群健康促進(jìn)的精準(zhǔn)化方案
- 耗材管理績(jī)效與科室考核聯(lián)動(dòng)
- 安全評(píng)價(jià)通則aq8001-2023
- 2025年上半年湖北省煙草專賣局(公司)招聘【30人】(業(yè)務(wù)操作類)易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 人工智能在信息通信領(lǐng)域的應(yīng)用研究
- 騰訊云人工智能工程師認(rèn)證考試題(附答案)
- 物流行業(yè)倉(cāng)儲(chǔ)雙控體系管理制度
- 浙江省工貿(mào)企業(yè)電氣隱患排查技術(shù)服務(wù)規(guī)范
- 中建10t龍門吊安拆安全專項(xiàng)施工方案
- 操作工技能等級(jí)評(píng)級(jí)方案
- 購(gòu)房委托書范文
- 新生兒先天性腎上腺皮質(zhì)增生癥
- (完整版)四宮格數(shù)獨(dú)題目204道(可直接打印)及空表(一年級(jí)數(shù)獨(dú)題練習(xí))
評(píng)論
0/150
提交評(píng)論