国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

玉米病害圖像分割系統(tǒng)開發(fā)

2014-10-22 23:40吳昂李艷玲何玉靜王永田朱娟花
湖北農(nóng)業(yè)科學(xué) 2014年17期
關(guān)鍵詞:圖像分割圖像識(shí)別閾值

吳昂+李艷玲+何玉靜+王永田+朱娟花

摘要:為了提高玉米病害葉片圖像分割的準(zhǔn)確性和設(shè)計(jì)相應(yīng)的圖像分割系統(tǒng),采用迭代閾值分割算法和形態(tài)學(xué)中的開閉運(yùn)算相結(jié)合的方法對(duì)玉米病害圖像進(jìn)行分割,使用VB和MATLAB的混合編程設(shè)計(jì)開發(fā)玉米病害圖像分割系統(tǒng)。運(yùn)行結(jié)果表明,該分割方法對(duì)玉米病害圖像有很好的分割效果。

關(guān)鍵詞:玉米病害;圖像分割;閾值;圖像識(shí)別

中圖分類號(hào):TP391.41;S435.13 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):0439-8114(2014)17-4178-04

Developing Image Segmentation System of Maize Leaf Disease

WU Anga, LI Yan-lingb,HE Yu-jinga,WANG Yong-tiana,ZHU Juan-huaa

(a.Mechanical and Electrical Engineering College;

b.School of Information and Management Science,Henan Agricultural University,Zhengzhou 450002, China)

Abstract: In order to improve the accuracy of image segmentation of maize leaf disease and the method of iterative threshold segmentation and morphological opening and closing was proposed to develop the image segmentation system. The image segmentation system of maize disease was designed with mixed program of VB and MATLAB. The results showed that the segmentation method of maize disease image developed was good.

Key Words: maize leaf disease;image segmentation;threshold;image recognition

玉米病害是影響玉米產(chǎn)量的一個(gè)重要因素,區(qū)分玉米病害能幫助人們準(zhǔn)確地識(shí)別玉米病害的種類,從而對(duì)癥下藥,保證玉米產(chǎn)量。為此,迫切需要開發(fā)一套玉米病害自動(dòng)識(shí)別系統(tǒng),對(duì)玉米病害的病種快速做出準(zhǔn)確的判別,并給出科學(xué)的治療措施,使農(nóng)業(yè)生產(chǎn)者能夠最大限度地減少病害造成的損失,并在一定程度上減少對(duì)消費(fèi)者和環(huán)境的損害。玉米病害圖像分割系統(tǒng)是玉米病害自動(dòng)識(shí)別系統(tǒng)中的關(guān)鍵問題[1-7],為此,先提出一種迭代閾值分割算法和形態(tài)學(xué)上的閉開運(yùn)算相結(jié)合的方法對(duì)玉米病害圖像進(jìn)行分割,取得了較好的分割效果,然后使用VB和MATLAB的混合編程進(jìn)行玉米病害圖像分割系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。

由于VB提供的計(jì)算機(jī)和繪圖函數(shù)有限,MATLAB創(chuàng)建圖像用戶界面的能力相對(duì)較弱,因此用VB編寫界面,用MATLAB作為后臺(tái)運(yùn)行程序,使兩者相得益彰[4,5,8]。通過這種方法,可使VB的可視化界面和MATLAB強(qiáng)大的計(jì)算及繪圖功能得以實(shí)現(xiàn),從而提高編程的效率,縮短軟件開發(fā)的周期。VB與MATLAB的接口,有一般動(dòng)態(tài)鏈接庫、DDE、OLE、ActiveX和COM組件等多種方法,由于COM組件在訪問時(shí),不用進(jìn)行環(huán)境切換,可以完全脫離MATLAB環(huán)境,節(jié)省了運(yùn)算時(shí)間和內(nèi)存要求,因此使用COM組件技術(shù)作為VB和MATLAB的接口。

1 玉米病害圖像分割算法

圖像分割可分為基于閾值分割和基于區(qū)域的分割?;陂撝捣指羁煞譃槿珠撝捣指睢⒕植块撝捣指詈蛣?dòng)態(tài)閾值/自適應(yīng)閾值分割。全局閾值分割選取的閾值僅與各個(gè)像素的灰度有關(guān)。有極小點(diǎn)閾值法、迭代閾值法、最優(yōu)閾值法、Otsu閾值法、最大熵法、p參數(shù)法等。局部閾值選取的閾值與像素本身及其局部性質(zhì)(如鄰域的平均灰度)有關(guān)。動(dòng)態(tài)閾值/自適應(yīng)閾值選取的閾值不僅與局部性質(zhì)有關(guān),還與像素的位置有關(guān)[9,10]。

玉米病害圖像由于病害種類多,而且病害種類不同,病害的大小、多少、深淺、發(fā)病部位差別很大,即使同一種病害,發(fā)病時(shí)間、發(fā)病程度不同,病害圖像也有所不同。所以采用同一種分割方法分割所有的玉米病害圖像效果不是很理想,需要再處理分割的二值圖像,去除誤分割。經(jīng)過比較,采用迭代閾值法分割玉米病害圖像,然后采用形態(tài)學(xué)的方法優(yōu)化分割效果。

1.1 迭代閾值分割算法

迭代閾值算法如下:

1)求出圖像的最大灰度值和最小灰度值,分別記為Max和Min,令初始閾值為T1=(Max+Min)/2;

2)根據(jù)閾值T1將圖像分割為G1和G2兩部分。分別求出G1和G2的平均灰度μ1和μ2:

μ1=■ini/■ni μ2=■ini /■ni,其中ni是灰度為i的像素個(gè)數(shù);

3)計(jì)算新的閾值T1=(μ1+μ2)/2;

4)如果|T2-T1|≤T0(T0為事先給定的極小正數(shù),此次取0.01),說明迭代前后兩次的閾值相差不大,則迭代終止;否則令T1=T2,重復(fù)步驟(2)和(3)。最后的T2就是所求的閾值。

1.2 開運(yùn)算和閉運(yùn)算

開運(yùn)算是指使用同一個(gè)結(jié)構(gòu)元素對(duì)圖像進(jìn)行先腐蝕后膨脹的過程,它通常在需要消除小顆粒噪聲和斷開目標(biāo)物之間粘連時(shí)使用。開運(yùn)算的主要作用和腐蝕操作相比,具有消除噪聲、在纖細(xì)點(diǎn)處分離物體和平滑較大物體的邊界的同時(shí)并不會(huì)明顯改變其面積的優(yōu)點(diǎn)。

閉運(yùn)算是指使用同一個(gè)結(jié)構(gòu)元素對(duì)圖像進(jìn)行先膨脹后腐蝕的過程。主要用來填充物體內(nèi)的細(xì)小空洞、連接鄰近物體、平滑其邊界的同時(shí)并不明顯改變其面積。endprint

對(duì)分割得到的玉米病害二值圖像采用線形結(jié)構(gòu)元素進(jìn)行閉合操作,填充空洞并連接斷開的邊界,再采用線性結(jié)構(gòu)元素進(jìn)行開運(yùn)算去除噪聲;然后采用方形結(jié)構(gòu)元素進(jìn)行閉和開操作,優(yōu)化分割圖像,產(chǎn)生較好的效果。

2 Matlab的COM Builder接口

Matlab COM Builder是Matlab提供的一個(gè)COM生成器,是一項(xiàng)比較復(fù)雜的技術(shù)。COM生成器為實(shí)現(xiàn)MATLAB獨(dú)立應(yīng)用程序提供了一個(gè)新的途徑。它提供了簡單、易用的圖形化界面,把MATLAB的M函數(shù)文件自動(dòng)、快速地轉(zhuǎn)變?yōu)楠?dú)立的進(jìn)程內(nèi)COM組件,這些組件作為獨(dú)立使用的COM對(duì)象,以DLL(ActiveX DLL)形式被裝入到客戶的進(jìn)程空間中,可以在任何支持COM的語言中直接引用這些組件對(duì)象。其工作原理是使用Matlab編譯器把Matlab程序轉(zhuǎn)換成C/C++程序,同時(shí)產(chǎn)生和COM有關(guān)的包裝代碼,之后調(diào)用外部編譯器來產(chǎn)生COM對(duì)象[1]。

由于Matlab COM Builder是Matlab Compiler的擴(kuò)展,因此在創(chuàng)建COM組件之前,應(yīng)該先安裝Matlab Compiler和Matlab COM Builder等模塊,同時(shí)需要對(duì)Matlab Compiler進(jìn)行必要的配置。配置方法為:首先打開Matlab,在Matlab的命令窗口中輸入“mbuild –setup”,然后會(huì)出現(xiàn)選擇編譯器的對(duì)話框,對(duì)話框中列出所有計(jì)算機(jī)中已安裝的各種C/C++編譯器,用戶根據(jù)需要自行選擇一種并確認(rèn)。之后就可以利用Maltab COM Builder來生成需要的組件了。

使用Matlab COM Builder編譯COM組件一般包括以下4個(gè)步驟:

1)打開一個(gè)已經(jīng)存在的工程,或者創(chuàng)建一個(gè)新的工程;

2)把需要的M程序加入工程;

3)對(duì)工程進(jìn)行編譯;

4)對(duì)產(chǎn)生的COM組件進(jìn)行打包和發(fā)布。

3 玉米病害圖像分割軟件設(shè)計(jì)

首先利用Matlab COM Builder工具將所編寫的圖像分割算法的M函數(shù)文件轉(zhuǎn)換為COM組件,生成的COM組件是以DLL的形式存在的,然后在VB語言中直接調(diào)用該組件。具體步驟包括編寫M文件、生成COM組件、調(diào)用.DLL文件、設(shè)計(jì)窗體和編寫代碼。

3.1 M文件的編寫

在MATLAB中編寫玉米病害圖像分割的M文件,主要包括迭代閾值分割算法的M文件和形態(tài)學(xué)上開運(yùn)算和閉運(yùn)算的M文件。篇幅有限僅給出迭代閾值分割算法的M文件程序如下:

Function result=iteration(filename)

Global result;

f=imread(filename);

f=rgb2gray(f);

f= double(medfilt2(f));

T=(min(f(:))+max(f(:)))/2;

done=false;

i=0;

while ~done

R1=find(f<=T);

R2=find(f>T);

Tnew=(mean(f(R1))+mean(f(R2)))/2

%為求2個(gè)灰度均值的平均值

done=abs(Tnew-T)<0.01

% abs為求絕對(duì)值

T=Tnew;

i=i+1;

end

f(R1)=0;

f(R2)=1;

result=f;

figure(1);

set(gcf,'Visible','off');

imshow(f);

title('迭代閾值二值化圖像');

3.2 生成COM組件

運(yùn)行Matlab,在命令行輸入COMTOOL命令,打開COM生成器窗口。在“File”菜單下選擇“New Project Settings”對(duì)話框,在“Component name”文本框中輸入組件名稱,組件以DLL文件存放。輸入組件名之后,COM生成器自動(dòng)在“class name”中輸入與組件名相同的類名,用戶也可以輸入其他的組件名。對(duì)話框中的“Project version”文本框用來設(shè)置組件的版本號(hào),默認(rèn)值為1.0版本。對(duì)話框中的“Project directory”文本框用以在生成組件、編譯和打包時(shí),工程和相關(guān)文件的存放位置,默認(rèn)位置在Matlab的work文件夾下。對(duì)話框中的“Compile code in”文本框用以設(shè)置最后編譯時(shí),生成C或C++代碼。如果在M文件中包含Matlab句柄圖形調(diào)用,則在“Compile options”中選擇“Use Handle Graphics library”,使工程組件包含Matlab C/C++圖像庫。以上各項(xiàng)完成后,單擊“OK”,用戶建立的工程文件將以.cbl的文件名被自動(dòng)添加在Matlab COM Builder的工程目錄中。

創(chuàng)建工程之后,生成器主窗口的“Project”、“Build”、“Component”等3個(gè)菜單就變?yōu)榭捎谩|c(diǎn)擊“Add File”按鈕向工程中添加M文件,由于每次只能添加一個(gè),所以多次操作將所用的M文件添加進(jìn)去。添加完M文件后,點(diǎn)擊“Build”下的“COM Object”選項(xiàng)來調(diào)用Matlab編譯器進(jìn)行編譯,生成對(duì)象文件及輸出文件.DLL,并將.DLL自動(dòng)注冊(cè)到系統(tǒng)中。當(dāng)出現(xiàn)“Standalone DLL build complete”時(shí),表明已經(jīng)注冊(cè)成功。用戶在VB主界面上,由“工程”菜單項(xiàng)打開“引用”窗體,將發(fā)現(xiàn)已經(jīng)有新生成的組件,用戶選中該組件,單擊“OK”按鈕,將在Matlab中產(chǎn)生的組件.DLL引入VB。

3.3 VB中界面設(shè)計(jì)及代碼編寫

窗體菜單設(shè)計(jì)采用下拉式,共包括文件、圖像預(yù)處理、圖像分割和幫助4個(gè)主菜單,文件中包括打開、保存和退出子菜單,圖像預(yù)處理包括灰度化和中值濾波子菜單;圖像分割中包括迭代閾值分割和形態(tài)學(xué)處理子菜單;幫助菜單中是簡單操作的說明。窗體中包括4個(gè)image對(duì)象,分別用來顯示原圖像、中值濾波圖像、迭代閾值分割圖像和形態(tài)學(xué)操作圖像。一個(gè)通用對(duì)話框CommonDialog1用于文件的打開及保存。相關(guān)代碼如下:

Public Filename As String

Private imag As process.processclass '定義類實(shí)例

'窗體裝載時(shí),創(chuàng)建新的類變量

Private Sub Form_Load()

Set imag = New process.processclass

End Sub

‘打開圖像顯示在Image1圖像框中

Private Sub openfile_Click()

CommonDialog1.Filter = “(*.*)|*.*”

CommonDialog1.ShowOpen

Filename = CommonDialog1.Filename

Image1.Picture = LoadPicture(Filename)

End Sub

‘調(diào)用迭代閾值分割算法并顯示分割圖像在Image3中

Private Sub iteration_Click()

Call imag.iteration(1, result, Filename)

Image3.Picture = Clipboard.GetData()

End Sub

3.4 運(yùn)行結(jié)果及分析

圖1為以灰斑病圖像為例的處理結(jié)果,包括原圖像、中值濾波后的圖像、迭代閾值分割后的圖像和形態(tài)學(xué)處理圖像。從圖1中第3幅圖像可以看出迭代閾值法分割出了二值圖像,葉片病變部位和健康部位基本分開,但圖像中有小的噪聲,病變部位內(nèi)部有小的空洞,還有一些誤分割(邊緣不連續(xù))。圖1中第4幅圖像是采用形態(tài)學(xué)運(yùn)算中的開運(yùn)算和閉運(yùn)算去噪、填充空洞和邊緣連接后得到的圖像,可以看出圖像的噪聲、空洞和斷開的邊緣基本去除。

4 小結(jié)

采用迭代閾值分割法對(duì)玉米病斑圖像進(jìn)行分割得到二值圖像,然后使用形態(tài)學(xué)上的閉運(yùn)算和開運(yùn)算去除噪聲、填充空洞和邊緣連接;利用VB的可視化界面和Matlab強(qiáng)大的計(jì)算及繪圖功能設(shè)計(jì)玉米病斑圖像分割軟件,大大提高了圖像處理的操作性,且可脫離Matlab環(huán)境運(yùn)行。運(yùn)行結(jié)果表明,采用的迭代閾值分割算法和形態(tài)學(xué)上的閉開運(yùn)算相結(jié)合的方法對(duì)玉米病害圖像有很好的分割效果。該系統(tǒng)的開發(fā)對(duì)玉米病害圖像自動(dòng)識(shí)別系統(tǒng)的開發(fā)具有重要意義。

參考文獻(xiàn):

[1] 陳月華,胡曉光,張長利.基于機(jī)器視覺的小表害蟲分割算法研究[J].農(nóng)業(yè)工程學(xué)報(bào),2007,23(12):187-19.

[2] 馬 旭,齊 龍,張小超,等.基于模糊聚類的玉米大斑病害圖像的分割技術(shù)[J].農(nóng)機(jī)化研究,2008(12):24-26.

[3] 馬曉丹,關(guān)海鷗,黃 燕.基于圖像處理的玉米葉部染病程度的研究[J].農(nóng)機(jī)化研究,2009,31(11):102-104.

[4] 劉新銘,項(xiàng) 伍,孟維娟.用VB實(shí)現(xiàn)MATLAB的圖像處理功能[J].上海電機(jī)技術(shù)高等專科學(xué)校學(xué)報(bào),2004,7(4):250-253.

[5] 胡江萍,譚躍剛.用VB與Matlab開發(fā)動(dòng)態(tài)圖像處理軟件的方法[J].武漢理工大學(xué)學(xué)報(bào)(信息與管理工程版),2003,25(1):32-34.

[6] 馬 駿,王建華.一種基于數(shù)學(xué)形態(tài)學(xué)的植物病蟲識(shí)別方法[J].深圳大學(xué)學(xué)報(bào)理工版,2004,21(1):72-75.

[7] 毛罕平,張艷誠,胡 波.基于模糊C均值聚類的作物病害葉片圖像分割方法研究[J].農(nóng)業(yè)工程學(xué)報(bào),2008,24(9):136-140.

[8] 崔彬彬,王汝霖,李春梅,等.基于VB與MATLAB的圖像處理軟件設(shè)計(jì)[J].微計(jì)算機(jī)信息,2006,22(30):260-262.

[9] 陳慧楠.玉米、黃瓜葉部病害的圖像處理技術(shù)研究[D].沈陽:沈陽理工大學(xué),2008.

[10] 趙玉霞,王克如,白中英,等.基于圖像識(shí)別的玉米葉部病害診斷研究[J].中國農(nóng)業(yè)科學(xué),2007,40(4):698-703.endprint

3.3 VB中界面設(shè)計(jì)及代碼編寫

窗體菜單設(shè)計(jì)采用下拉式,共包括文件、圖像預(yù)處理、圖像分割和幫助4個(gè)主菜單,文件中包括打開、保存和退出子菜單,圖像預(yù)處理包括灰度化和中值濾波子菜單;圖像分割中包括迭代閾值分割和形態(tài)學(xué)處理子菜單;幫助菜單中是簡單操作的說明。窗體中包括4個(gè)image對(duì)象,分別用來顯示原圖像、中值濾波圖像、迭代閾值分割圖像和形態(tài)學(xué)操作圖像。一個(gè)通用對(duì)話框CommonDialog1用于文件的打開及保存。相關(guān)代碼如下:

Public Filename As String

Private imag As process.processclass '定義類實(shí)例

'窗體裝載時(shí),創(chuàng)建新的類變量

Private Sub Form_Load()

Set imag = New process.processclass

End Sub

‘打開圖像顯示在Image1圖像框中

Private Sub openfile_Click()

CommonDialog1.Filter = “(*.*)|*.*”

CommonDialog1.ShowOpen

Filename = CommonDialog1.Filename

Image1.Picture = LoadPicture(Filename)

End Sub

‘調(diào)用迭代閾值分割算法并顯示分割圖像在Image3中

Private Sub iteration_Click()

Call imag.iteration(1, result, Filename)

Image3.Picture = Clipboard.GetData()

End Sub

3.4 運(yùn)行結(jié)果及分析

圖1為以灰斑病圖像為例的處理結(jié)果,包括原圖像、中值濾波后的圖像、迭代閾值分割后的圖像和形態(tài)學(xué)處理圖像。從圖1中第3幅圖像可以看出迭代閾值法分割出了二值圖像,葉片病變部位和健康部位基本分開,但圖像中有小的噪聲,病變部位內(nèi)部有小的空洞,還有一些誤分割(邊緣不連續(xù))。圖1中第4幅圖像是采用形態(tài)學(xué)運(yùn)算中的開運(yùn)算和閉運(yùn)算去噪、填充空洞和邊緣連接后得到的圖像,可以看出圖像的噪聲、空洞和斷開的邊緣基本去除。

4 小結(jié)

采用迭代閾值分割法對(duì)玉米病斑圖像進(jìn)行分割得到二值圖像,然后使用形態(tài)學(xué)上的閉運(yùn)算和開運(yùn)算去除噪聲、填充空洞和邊緣連接;利用VB的可視化界面和Matlab強(qiáng)大的計(jì)算及繪圖功能設(shè)計(jì)玉米病斑圖像分割軟件,大大提高了圖像處理的操作性,且可脫離Matlab環(huán)境運(yùn)行。運(yùn)行結(jié)果表明,采用的迭代閾值分割算法和形態(tài)學(xué)上的閉開運(yùn)算相結(jié)合的方法對(duì)玉米病害圖像有很好的分割效果。該系統(tǒng)的開發(fā)對(duì)玉米病害圖像自動(dòng)識(shí)別系統(tǒng)的開發(fā)具有重要意義。

參考文獻(xiàn):

[1] 陳月華,胡曉光,張長利.基于機(jī)器視覺的小表害蟲分割算法研究[J].農(nóng)業(yè)工程學(xué)報(bào),2007,23(12):187-19.

[2] 馬 旭,齊 龍,張小超,等.基于模糊聚類的玉米大斑病害圖像的分割技術(shù)[J].農(nóng)機(jī)化研究,2008(12):24-26.

[3] 馬曉丹,關(guān)海鷗,黃 燕.基于圖像處理的玉米葉部染病程度的研究[J].農(nóng)機(jī)化研究,2009,31(11):102-104.

[4] 劉新銘,項(xiàng) 伍,孟維娟.用VB實(shí)現(xiàn)MATLAB的圖像處理功能[J].上海電機(jī)技術(shù)高等??茖W(xué)校學(xué)報(bào),2004,7(4):250-253.

[5] 胡江萍,譚躍剛.用VB與Matlab開發(fā)動(dòng)態(tài)圖像處理軟件的方法[J].武漢理工大學(xué)學(xué)報(bào)(信息與管理工程版),2003,25(1):32-34.

[6] 馬 駿,王建華.一種基于數(shù)學(xué)形態(tài)學(xué)的植物病蟲識(shí)別方法[J].深圳大學(xué)學(xué)報(bào)理工版,2004,21(1):72-75.

[7] 毛罕平,張艷誠,胡 波.基于模糊C均值聚類的作物病害葉片圖像分割方法研究[J].農(nóng)業(yè)工程學(xué)報(bào),2008,24(9):136-140.

[8] 崔彬彬,王汝霖,李春梅,等.基于VB與MATLAB的圖像處理軟件設(shè)計(jì)[J].微計(jì)算機(jī)信息,2006,22(30):260-262.

[9] 陳慧楠.玉米、黃瓜葉部病害的圖像處理技術(shù)研究[D].沈陽:沈陽理工大學(xué),2008.

[10] 趙玉霞,王克如,白中英,等.基于圖像識(shí)別的玉米葉部病害診斷研究[J].中國農(nóng)業(yè)科學(xué),2007,40(4):698-703.endprint

3.3 VB中界面設(shè)計(jì)及代碼編寫

窗體菜單設(shè)計(jì)采用下拉式,共包括文件、圖像預(yù)處理、圖像分割和幫助4個(gè)主菜單,文件中包括打開、保存和退出子菜單,圖像預(yù)處理包括灰度化和中值濾波子菜單;圖像分割中包括迭代閾值分割和形態(tài)學(xué)處理子菜單;幫助菜單中是簡單操作的說明。窗體中包括4個(gè)image對(duì)象,分別用來顯示原圖像、中值濾波圖像、迭代閾值分割圖像和形態(tài)學(xué)操作圖像。一個(gè)通用對(duì)話框CommonDialog1用于文件的打開及保存。相關(guān)代碼如下:

Public Filename As String

Private imag As process.processclass '定義類實(shí)例

'窗體裝載時(shí),創(chuàng)建新的類變量

Private Sub Form_Load()

Set imag = New process.processclass

End Sub

‘打開圖像顯示在Image1圖像框中

Private Sub openfile_Click()

CommonDialog1.Filter = “(*.*)|*.*”

CommonDialog1.ShowOpen

Filename = CommonDialog1.Filename

Image1.Picture = LoadPicture(Filename)

End Sub

‘調(diào)用迭代閾值分割算法并顯示分割圖像在Image3中

Private Sub iteration_Click()

Call imag.iteration(1, result, Filename)

Image3.Picture = Clipboard.GetData()

End Sub

3.4 運(yùn)行結(jié)果及分析

圖1為以灰斑病圖像為例的處理結(jié)果,包括原圖像、中值濾波后的圖像、迭代閾值分割后的圖像和形態(tài)學(xué)處理圖像。從圖1中第3幅圖像可以看出迭代閾值法分割出了二值圖像,葉片病變部位和健康部位基本分開,但圖像中有小的噪聲,病變部位內(nèi)部有小的空洞,還有一些誤分割(邊緣不連續(xù))。圖1中第4幅圖像是采用形態(tài)學(xué)運(yùn)算中的開運(yùn)算和閉運(yùn)算去噪、填充空洞和邊緣連接后得到的圖像,可以看出圖像的噪聲、空洞和斷開的邊緣基本去除。

4 小結(jié)

采用迭代閾值分割法對(duì)玉米病斑圖像進(jìn)行分割得到二值圖像,然后使用形態(tài)學(xué)上的閉運(yùn)算和開運(yùn)算去除噪聲、填充空洞和邊緣連接;利用VB的可視化界面和Matlab強(qiáng)大的計(jì)算及繪圖功能設(shè)計(jì)玉米病斑圖像分割軟件,大大提高了圖像處理的操作性,且可脫離Matlab環(huán)境運(yùn)行。運(yùn)行結(jié)果表明,采用的迭代閾值分割算法和形態(tài)學(xué)上的閉開運(yùn)算相結(jié)合的方法對(duì)玉米病害圖像有很好的分割效果。該系統(tǒng)的開發(fā)對(duì)玉米病害圖像自動(dòng)識(shí)別系統(tǒng)的開發(fā)具有重要意義。

參考文獻(xiàn):

[1] 陳月華,胡曉光,張長利.基于機(jī)器視覺的小表害蟲分割算法研究[J].農(nóng)業(yè)工程學(xué)報(bào),2007,23(12):187-19.

[2] 馬 旭,齊 龍,張小超,等.基于模糊聚類的玉米大斑病害圖像的分割技術(shù)[J].農(nóng)機(jī)化研究,2008(12):24-26.

[3] 馬曉丹,關(guān)海鷗,黃 燕.基于圖像處理的玉米葉部染病程度的研究[J].農(nóng)機(jī)化研究,2009,31(11):102-104.

[4] 劉新銘,項(xiàng) 伍,孟維娟.用VB實(shí)現(xiàn)MATLAB的圖像處理功能[J].上海電機(jī)技術(shù)高等??茖W(xué)校學(xué)報(bào),2004,7(4):250-253.

[5] 胡江萍,譚躍剛.用VB與Matlab開發(fā)動(dòng)態(tài)圖像處理軟件的方法[J].武漢理工大學(xué)學(xué)報(bào)(信息與管理工程版),2003,25(1):32-34.

[6] 馬 駿,王建華.一種基于數(shù)學(xué)形態(tài)學(xué)的植物病蟲識(shí)別方法[J].深圳大學(xué)學(xué)報(bào)理工版,2004,21(1):72-75.

[7] 毛罕平,張艷誠,胡 波.基于模糊C均值聚類的作物病害葉片圖像分割方法研究[J].農(nóng)業(yè)工程學(xué)報(bào),2008,24(9):136-140.

[8] 崔彬彬,王汝霖,李春梅,等.基于VB與MATLAB的圖像處理軟件設(shè)計(jì)[J].微計(jì)算機(jī)信息,2006,22(30):260-262.

[9] 陳慧楠.玉米、黃瓜葉部病害的圖像處理技術(shù)研究[D].沈陽:沈陽理工大學(xué),2008.

[10] 趙玉霞,王克如,白中英,等.基于圖像識(shí)別的玉米葉部病害診斷研究[J].中國農(nóng)業(yè)科學(xué),2007,40(4):698-703.endprint

猜你喜歡
圖像分割圖像識(shí)別閾值
基于Resnet-50的貓狗圖像識(shí)別
小波閾值去噪在深小孔鉆削聲發(fā)射信號(hào)處理中的應(yīng)用
高速公路圖像識(shí)別技術(shù)應(yīng)用探討
基于自適應(yīng)閾值和連通域的隧道裂縫提取
圖像識(shí)別在物聯(lián)網(wǎng)上的應(yīng)用
圖像識(shí)別在水質(zhì)檢測中的應(yīng)用
比值遙感蝕變信息提取及閾值確定(插圖)
室內(nèi)表面平均氡析出率閾值探討
资溪县| 永登县| 兴业县| 泽库县| 铜梁县| 集安市| 原平市| 重庆市| 冀州市| 宁陵县| 稻城县| 凯里市| 收藏| 广丰县| 井冈山市| 常德市| 峨眉山市| 宜川县| 水富县| 安阳市| 莲花县| 阳城县| 大荔县| 枣庄市| 五常市| 申扎县| 桦川县| 仁怀市| 哈巴河县| 江北区| 藁城市| 柳州市| 吴桥县| 得荣县| 昌都县| 武强县| 海盐县| 日照市| 年辖:市辖区| 贡嘎县| 定兴县|