趙欣,賈曉劍
一種基于Matlab的谷物顆粒計(jì)數(shù)方法
趙欣,賈曉劍
(河南科技學(xué)院信息工程學(xué)院,河南新鄉(xiāng)453003)
針對目前谷物顆粒計(jì)數(shù)方法存在的不足,提出了一種新的基于Matlab的谷物顆粒計(jì)數(shù)方法,利用原有最終腐蝕算法,先計(jì)算出沒有重疊區(qū)域的顆粒數(shù),然后選用面積Ai作為區(qū)域特征參數(shù),對最終腐蝕之后面積依然大于Ai+4的部分進(jìn)行區(qū)域分割,并對分割以后的區(qū)域進(jìn)行計(jì)數(shù),兩次計(jì)數(shù)結(jié)果相加得到圖像整體區(qū)域內(nèi)的顆粒數(shù).在Matlab 7.0環(huán)境下,通過實(shí)驗(yàn)驗(yàn)證了方法的準(zhǔn)確性.方法克服了常用算法中因顆粒大片粘連造成的統(tǒng)計(jì)不準(zhǔn)確的缺陷,為今后進(jìn)一步的研究提供了實(shí)踐和理論支持.
顆粒計(jì)數(shù);粘連;圖像處理
隨著農(nóng)業(yè)信息化進(jìn)程的不斷推進(jìn),以機(jī)器視覺為主的信息化技術(shù)在現(xiàn)代農(nóng)業(yè)中發(fā)揮著越來越重要的作用.谷物作為主要的糧食作物,它的產(chǎn)量和質(zhì)量直接影響到國計(jì)民生,在對作物產(chǎn)量評估的過程中,谷物顆粒的計(jì)數(shù)起到非常重要的作用.傳統(tǒng)的計(jì)數(shù)方法多少都存在著不足.針對這一問題,本文提出一種新的基于圖像處理技術(shù)的谷物顆粒計(jì)數(shù)方法,為后續(xù)的谷物產(chǎn)量評估、精選、優(yōu)質(zhì)育種等進(jìn)一步的研究提供支持.
1.1 谷物圖像獲取
目前常用的圖像獲取設(shè)備有手機(jī)、攝像機(jī)、計(jì)算機(jī)、視頻圖像采集卡等,本文使用手機(jī)采集圖片.手機(jī)拍攝操作簡單方便,采集到的圖片清晰度能夠滿足實(shí)驗(yàn)要求[1].
1.2 谷物圖像處理
圖像獲取設(shè)備獲得的圖像為JPG格式,可以用Matlab中的imread函數(shù)讀入圖像.由于計(jì)數(shù)的準(zhǔn)確性受到圖片的清晰度、背景的顏色、顆粒的粘連與重疊情況等條件的影響,所以在計(jì)數(shù)之前需要對采集到的圖片進(jìn)行相應(yīng)的處理.本文的計(jì)數(shù)實(shí)驗(yàn)假設(shè)谷物顆粒顏色和背景顏色存在較大的差別.
1.2.1 圖像灰度化處理 用手機(jī)采集到的圖像是RGB彩色圖像,不僅包含強(qiáng)度信息,還有大量的顏色信息.直接處理彩色圖像會降低系統(tǒng)的執(zhí)行速度,因此需要將輸入的彩色圖像轉(zhuǎn)換為灰度圖像.
彩色圖像灰度化的方法主要有最大值法、平均值法、加權(quán)平均值法等.本文采用加權(quán)平均值法進(jìn)行灰度處理.
加權(quán)平均值法處理圖像的步驟如下:①讀取彩色圖像的灰度值,即讀取圖像中每個像素的R、G、B分量值;②采用加權(quán)平均值法算出該像素的灰度值Gray;③對圖像中的所有像素進(jìn)行上述操作,彩色圖像最終轉(zhuǎn)換成為灰度圖像.其中步驟②中用到的加權(quán)平均值計(jì)算公式為
式(1)中:KR、KG、KB分別代表 RGB彩色圖像中 R、G、B 的權(quán)值,經(jīng)試驗(yàn)證明 KR取 0.30,KG取 0.59,KB取0.11.本文以綠豆顆粒為例進(jìn)行試驗(yàn),灰度化后的圖像如圖1所示.
圖1 彩色圖像灰度化Fig.1 Color image grayprocessing
1.2.2 灰度圖像二值化 圖像二值化是利用圖像中目標(biāo)物與其背景在灰度特性上的差異,把圖像視為具有不同灰度級別的目標(biāo)和背景區(qū)域的組合,能夠方便提取圖像中的有用信息,刪減掉一些無用信息.閾值是灰度圖像二值化過程中的重要參數(shù),它決定著二值化效果的好壞.局部閾值法是圖像二值化經(jīng)常選用的方法,它是把圖像分成很多小塊圖像,并對每個子圖像選取相應(yīng)的閾值,當(dāng)每個子圖像都被局部閾值法處理過后就能組成一整幅圖像.在Matlab中局部閾值函數(shù)為dithe,二值化函數(shù)為im2bw.二值化以后的圖像像素只有0和1兩個值,分別代表背景和目標(biāo)谷物[2].
1.2.3 圖像平滑濾波 圖像在采集、傳輸和量化過程中會受到外部環(huán)境、采集設(shè)備等因素影響,這些因素以噪聲的形式在圖像上表現(xiàn)出來,嚴(yán)重影響著圖像的質(zhì)量,因此需要進(jìn)行去噪處理.圖像平滑是一種局部項(xiàng)處理的噪聲抑制方法,根據(jù)噪聲的特點(diǎn),可以選擇不同的平滑算法.本文選擇中值濾波法,此方法能很好地抑制點(diǎn)狀噪聲,并能很好地保持圖像邊緣的完整性.
中值濾波的原理是:先確定數(shù)字圖像或數(shù)字序列中的一點(diǎn),然后找出該點(diǎn)的一個鄰域,用鄰域中各點(diǎn)的中值來代替該點(diǎn),并且使周圍的像素值接近真實(shí)值,從而消除孤立的噪聲點(diǎn).具體算法的實(shí)現(xiàn)通常是用一個窗口在圖像上滑動,將窗口內(nèi)包含的圖像像素按灰度排序,取其中間值作為窗口中心像素的灰度,用公式(2)表示[3]
式(2)中,選方形或是圓形窗口是根據(jù)圖像中物體的形狀特性來確定的.Matlab中用medfilt2(n)函數(shù)來實(shí)現(xiàn)中值濾波.二值化和平滑后的圖像如圖2所示.
圖2 圖像二值化與中值濾波Fig.2 Image binarization and median filter
對圖像做簡單處理之后就需要進(jìn)行顆粒計(jì)數(shù).一般來說,若圖像在背景清晰、光照適宜、谷物顆粒間沒有遮擋和粘連的情況下拍攝,常用的計(jì)數(shù)方法能很準(zhǔn)確地計(jì)算出顆粒數(shù).但實(shí)際的拍攝往往受到外界環(huán)境的影響,并且大多數(shù)情況都會出現(xiàn)顆粒部分或者大片粘連,從而導(dǎo)致計(jì)數(shù)結(jié)果不準(zhǔn)確.為了克服大片粘連帶來的影響,提出了一種新的谷物顆粒計(jì)數(shù)方法.
2.1 形態(tài)學(xué)閉運(yùn)算和最終腐蝕
2.1.1 形態(tài)學(xué)閉運(yùn)算 針對圖2中顆粒大片粘連的情況,先選用形態(tài)學(xué)圖像處理中的閉運(yùn)算對圖片作第一步處理[5-6].所謂的閉運(yùn)算是指:先對二值化后的圖像進(jìn)行膨脹處理然后再腐蝕.先膨脹可以填平顆粒上的小孔使顆粒及顆粒邊緣變得平滑,然后再做腐蝕運(yùn)算將物體分開.這樣可以保持顆粒的總位置和形狀不發(fā)生變化.閉運(yùn)算的結(jié)果如圖3所示.
圖3 圖像閉運(yùn)算Fig.3 Image closingoperation
由圖3可以看出,經(jīng)過閉運(yùn)算處理之后圖像變的更加清晰,顆粒的位置和形狀沒有發(fā)生變化,粘連較輕的顆粒已經(jīng)分開了,但是大片粘連的顆粒仍然沒有被分開,需要做進(jìn)一步的處理.
2.1.2 最終腐蝕計(jì)數(shù) 腐蝕技術(shù)能夠使粘連的顆粒分離開,為了提高計(jì)數(shù)的準(zhǔn)確性,對粘連的情況采用最終腐蝕的方法進(jìn)行計(jì)數(shù).需要指出的是,在做最終腐蝕之前需要對粘連嚴(yán)重的區(qū)域進(jìn)行標(biāo)記,先不對這部分計(jì)數(shù),后續(xù)再做處理.
所謂最終腐蝕就是把圖像連續(xù)腐蝕到連通子區(qū)域消失前所有剩余部分[7].具體步驟是:
(1)標(biāo)記原圖像的通區(qū)域;
(2)對標(biāo)記后的圖像進(jìn)行連續(xù)腐蝕,每腐蝕一次,重新標(biāo)記連通區(qū)域;
(3)腐蝕程序每次運(yùn)行都會自動檢查腐蝕后的圖像,看其是否有消失的區(qū)域,如果有消失,程序就會自動把最后一次消失的區(qū)域恢復(fù)成最后一次的形態(tài);
(4)直到下次腐蝕和這次腐蝕結(jié)果一樣,程序結(jié)束.
最終腐蝕圖及計(jì)數(shù)結(jié)果如圖4所示.
圖4 綠豆圖像最終腐蝕圖及計(jì)數(shù)結(jié)果Fig.4 Finallycorrosion picture and results ofthe mungbean image
從最終腐蝕結(jié)果和計(jì)數(shù)結(jié)果可以看出,目標(biāo)范圍內(nèi)依然有不少顆粒粘連在一起,致使最后計(jì)算出的顆粒數(shù)為86粒,與實(shí)際98粒顆粒數(shù)出入較大,計(jì)數(shù)準(zhǔn)確率較低.為了解決最終腐蝕算法中粘連致使計(jì)數(shù)不準(zhǔn)確的問題,利用面積區(qū)域分割方法對原算法進(jìn)行改進(jìn).
2.2 大片粘連區(qū)域計(jì)數(shù)
對大片粘連區(qū)域,選用面積作為描述區(qū)域特征的參數(shù)[8].所謂的面積特征是指:若給定封閉邊界的某種表示,則相應(yīng)連通區(qū)域的面積應(yīng)為區(qū)域外邊界包圍的面積與內(nèi)邊界包圍的面積(孔的面積)之差.對于某個圖像區(qū)域Ri,其面積Ai就是統(tǒng)計(jì)Ri中邊界內(nèi)部(包括邊界)的像素點(diǎn)的灰度級之和,計(jì)算公式如下:
對于一幅二值圖像,若用1表示目標(biāo),用0表示背景,其面積就是統(tǒng)計(jì)的個數(shù).由于所要計(jì)數(shù)的谷物顆粒大小基本確定,面積也基本不變,所以這里選用面積作為特征參數(shù)對谷物顆粒進(jìn)行特征提取.對于大片粘連在一起的區(qū)域,其面積一定大于單個顆粒面積,若把單個顆粒面積Ai做為模板,用Ai檢測粘連部分的面積Ki,則Ki一定大于Ai,此時對Ki做一次分割,然后對分割后的區(qū)域再做檢測,如果Ki依然大于Ai,則繼續(xù)分割,直到Ai-4≤Ki≤Ai+4停止分割,在分割過程中標(biāo)記分割后滿足條件的區(qū)域,當(dāng)分割停止后對標(biāo)記區(qū)域計(jì)數(shù),進(jìn)而統(tǒng)計(jì)出部分粘連區(qū)域的顆粒數(shù).
經(jīng)過最終腐蝕計(jì)數(shù)和面積區(qū)域分割計(jì)數(shù),顆粒數(shù)即為兩次計(jì)數(shù)的和.在Win7環(huán)境下,用Matlab 7.0軟件對整體程序進(jìn)行調(diào)試,最終實(shí)現(xiàn)了準(zhǔn)確的顆粒計(jì)數(shù).見圖5.
圖5 新算法的計(jì)數(shù)結(jié)果Fig.5 Count results ofthe newalgorithm
為了驗(yàn)證算法的準(zhǔn)確性,又用黃豆、瓜子以及小麥各50粒分別進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)過程中部分顆粒之間存在粘連情況,且滿足要驗(yàn)證的顆粒顏色和背景顏色存在較大差異.實(shí)驗(yàn)結(jié)果見表1.
表1 原算法與改進(jìn)算法實(shí)驗(yàn)結(jié)果Tab.1 The original algorithmis compared with the experimental results ofthe improved algorithm
由表1可以看出,利用改進(jìn)算法得到的黃豆和瓜子數(shù)不存在誤差,但是小麥數(shù)卻存在一定誤差,這是因?yàn)橄鄬τ谄渌麅煞N作物,小麥種子顆粒較小,在區(qū)域面積計(jì)算時面積Ai擴(kuò)展區(qū)域的閾值選取需要更加精確,經(jīng)過反復(fù)設(shè)定最終確定選取Ai-3≤Ki≤Ai+3作為閾值范圍,雖然存在一定誤差,但是基本能準(zhǔn)確計(jì)數(shù).
實(shí)驗(yàn)證明利用改進(jìn)后的算法對于大片粘連情況下的計(jì)數(shù)的有效性和準(zhǔn)確性.
本文通過面積區(qū)域分割計(jì)數(shù)對最終腐蝕計(jì)數(shù)進(jìn)行改進(jìn),改進(jìn)后的方法能夠很好地解決大片粘連帶來的顆粒計(jì)數(shù)不準(zhǔn)確問題,但是對于顆粒完全重疊和重疊度較高的情況處理效果并不很理想,有待后續(xù)研究.
[1]陸愛民,何曉燕,劉南渤,等.機(jī)器視覺成像系統(tǒng)的平行光源裝置及機(jī)器視覺成像系統(tǒng):CN105841018A[P].2016-08-10.
[2]劉星橋,李娟,張如通.Matlab圖像處理在水產(chǎn)養(yǎng)殖中的應(yīng)用[J].微計(jì)算機(jī)信息,2006,11(3):300-302.
[3]董長虹,賴志國,余嘯海.Matlab圖像處理與應(yīng)用[M].北京:國防工業(yè)出版社,2004.
[4]王春哲,李杰.基于邊緣信息的圖像質(zhì)量評價研究[J].長春大學(xué)學(xué)報,2014,24(10):1330-1333.
[5]林德貴.基于邊緣檢測的提升小波圖像去噪[J].長春大學(xué)學(xué)報,2011,21(8):31-33.
[6]趙欣欣.生物組織顯微圖像中的細(xì)胞計(jì)數(shù)方法[D].武漢:華中科技大學(xué),2012.
[7]張?jiān)弃Q,喬曉軍,王成,等.種子自動數(shù)粒儀[J].儀器儀表與檢測技術(shù),2005,24(3):59-61.
[8]劉相濱.類圓性顆粒圖像分割技術(shù)研究[D].長沙:湖南大學(xué),2006.
A grain particle counting method based on Matlab
ZHAO Xin,JIA Xiaojian
(School ofInformation Engineering,Henan Institute ofScience and Technology,Xinxiang453003,China)
In order to overcome the existing shortage of the present grain particle counting method,A new method of grain particle counting based on Matlab was proposed.The new method calculate the number of particles without overlap use ultimate corrosion algorithm,Then select Aias the regional characteristic parameter,break up the areas which Ai-4≤Ki≤Ai+4,and counting the area after division.The number of particles in the overall area of the image was added by adding two counts.In environment of Matlab 7.0,The accuracy of this method was verified by a large number of experiments.The problem of statistical inaccuracies caused by particle size adhesion in the common algorithm is overcome by this method,it lays a practical and theoretical foundation for further research.
particle counting;adhesion;image processing
TP391.4
A
1008-7516(2017)05-0065-05
10.3969/j.issn.1008-7516.2017.05.012
2017-06-09
河南省科技計(jì)劃(162102210294)
趙欣(1986—),女,河南南陽人,碩士,助教.主要從事圖形圖像處理及機(jī)器視覺研究.
(責(zé)任編輯:盧奇)