《電子技術(shù)應用》
您所在的位置:首頁 > 其他 > 設(shè)計應用 > 面粉麩星計算機檢測系統(tǒng)
面粉麩星計算機檢測系統(tǒng)
戴常軍1, 孫來軍2 , 王樂凱1, 喬常明2, 錢海波2
1. 黑龍江省農(nóng)業(yè)科學院谷物品質(zhì)研究中心,黑龍江 哈爾濱150086;2. 黑龍江省電子工程高校重點
摘要: 面粉麩星的多少是評價面粉質(zhì)量的一種重要指標,傳統(tǒng)的面粉麩星檢測都是依靠人工感官方式,即操作人員利用放大鏡(5倍或5倍以上)查找統(tǒng)計視野中能見的麩星。由于麩星的數(shù)量多且面積小,因此,靠人工感官檢測方式得到的數(shù)據(jù)結(jié)果往往達不到精度要求。針對這一問題提出了一種基于計算機圖像處理技術(shù)的面粉麩星檢測方法,利用該方法可以快速準確地檢測出面粉的麩星個數(shù)、麩星面積以及面積百分比等指標。
Abstract:
Key words :

摘  要: 面粉麩星的多少是評價面粉質(zhì)量的一種重要指標,傳統(tǒng)的面粉麩星檢測都是依靠人工感官方式,即操作人員利用放大鏡(5倍或5倍以上)查找統(tǒng)計視野中能見的麩星。由于麩星的數(shù)量多且面積小,因此,靠人工感官檢測方式得到的數(shù)據(jù)結(jié)果往往達不到精度要求。針對這一問題提出了一種基于計算機圖像處理技術(shù)的面粉麩星檢測方法,利用該方法可以快速準確地檢測出面粉的麩星個數(shù)、麩星面積以及面積百分比等指標。
關(guān)鍵詞: 面粉麩星; 圖像處理; 計算機檢測

      面粉麩星是指成品面粉中肉眼可見的、顏色明顯深于面粉的斑點,其主要成分是小麥加工成面粉過程中未分離出去的小麥麩皮,也有未清理干凈的蕎麥皮、草籽皮,甚至還有大小、比重與小麥相近的黑石塊、煤渣等[1]。面粉麩星的面積大小和數(shù)量多少不但影響面粉的純度與白度,也將影響面粉生產(chǎn)工藝過程中其他相關(guān)指標,例如:出粉率、粉中含麩率、面粉等級等,更可衡量面粉生產(chǎn)過程中清理是否干凈、磨粉機搭配調(diào)整是否得當、篩理匹配是否合理等。從中還可得出小麥制粉工藝及設(shè)備是否先進、操作是否正確等[2]。
  傳統(tǒng)的人工檢測方法就是操作人員利用放大鏡(5倍或5倍以上)直接查找視野范圍內(nèi)能見的麩星并統(tǒng)計個數(shù)。由于面粉質(zhì)量不同、操作人員視覺疲勞、光線能見度低等原因,依靠這種方式檢測出的面粉麩星個數(shù)只能對面粉等級做出定性判定,無法給出準確的定量判斷。全國各地的面粉廠和面粉檢驗機構(gòu)都是由國家糧食檢驗方面的專家每年(或半年)憑感官評出的等級面粉小樣與被檢測的面粉進行比較,給出某種面粉麩星是否超標而標定出該面粉的質(zhì)量和等級,這種標定方法主觀性太強、誤差較大[3-6]。針對以上所存在的問題,本文提出了一種基于計算機圖像處理技術(shù)來檢測麩星的方法,通過此方法可以實現(xiàn)對面粉麩星的準確定量檢測。
1 麩星檢測的基本原理
     基于圖像處理的麩星檢測過程是:首先對面粉拍照,然后將圖片輸入到計算機,再利用麩星識別系統(tǒng)進行檢測。對于計算機而言圖片實際上是一個像素的二維數(shù)組,典型情況下,顏色的每個組分都用1個字節(jié)來表示,這樣每種顏色組分只有256個級別,區(qū)分度和對比度都不高;數(shù)字攝像頭所拍攝的面粉圖片為真彩圖片,其中每個像素的顏色由紅(R)、綠(G)、藍(B)3種基本色的分量來表示。這種方法每個像素使用3個字節(jié),允許達到256×256×256=167 772 16或1 600萬種RGB值(顏色)[7]。與面粉相比麩星的顏色較深,也就是說面粉顏色的RGB值小于麩星顏色的RGB值,基于此,可以利用麩星點的像素值與面粉圖片背景的像素值存在的差異將其檢測出來。
2 麩星檢測的實現(xiàn)
2.1 圖片的預處理

   因為圖片在繪制過程中或輸入到計算機的過程中可能引入噪聲,因此,對面粉圖片進行操作之前需進行必要的預處理,這是計算機進行圖片處理時必不可少的。通常的預處理過程包括灰度化處理、二值化處理、平滑、濾波等等[8]。
   (1)圖像的灰度化。一般情況下,彩色圖片中每一個像素的R、G、B值都不盡相同,如果直接將面粉顏色的像素與麩星顏色的像素進行比較所得到的檢測結(jié)果精度往往不高,且每次檢測的面粉質(zhì)量都有所不同,拍出的圖片彩色程度亦有所不同,這會導致檢測結(jié)果的穩(wěn)定性較差,因此需將圖片進行灰度處理。灰度處理的方法有很多,如:最大值轉(zhuǎn)換法、平均值轉(zhuǎn)換法、黃金權(quán)重轉(zhuǎn)換法等。本文在進行灰度處理時采用的是最大亮度轉(zhuǎn)換法,其公式如下:
    R1=G1=B1=max(R,G,B)
式中,R1、G1、B1為轉(zhuǎn)換后的像素值;R、G、B為轉(zhuǎn)換前的像素值?;叶忍幚砗蟮膱D片每一個像素的RGB值都是相同的,其范圍從(0,0,0)、(1,1,1)一直到(255,255,255),(0,0,0)為純黑色,(255,255,255)純白色,中間的是不同級別的灰色,這樣圖片就以亮度信息為主要信息,彩色信息為次要信息,十分便于比較區(qū)分。
     (2)圖像的二值化。圖像的二值化就是指將灰度圖中的背景與有效區(qū)域變?yōu)楹诎追置鞯?種顏色。本文所使用的并不是這種傳統(tǒng)意義上的二值化方法,而是一種“非典型二值化”方法。它并沒有將面粉圖片變?yōu)楹诎讏D片,只是加強了面粉背景顏色與麩星點顏色的區(qū)分度,這樣更有利于麩星點坐標的識別與提取,同時增強了視覺觀察度。針對麩星檢測的特點采用最大熵法二值化進行處理,最大熵法是一種動態(tài)全局閾值選取法,其優(yōu)點是可以針對不同圖片的不同情況選取相應的閾值,使得該麩星檢測系統(tǒng)的檢測精度和推廣性很高[9]。該方法最早由Pun提出,其目的就是將圖像的灰度直方圖分成獨立的類,使得各類的總熵最大。設(shè)S是潛在的分割閾值點, p0, p1, p2,…,pL是圖像灰度級的概率分布,現(xiàn)將其分為如下2個概率分布:
    

 

  (3)圖像的平滑及濾波。去除圖像中噪聲的運算在圖像處理中稱為圖像的平滑,主要是利用噪聲高頻、孤立、大偏差的特點進行的,本文采用鄰域平均的方法進行去噪。鄰域平均即是指將每個像素的灰度值用它所在鄰域內(nèi)像素的平均值來代替,從而達到去噪的效果。其優(yōu)點是算法簡單、計算速度快。常用的鄰域平均的窗口有2種:3×3鄰域中的5點鄰域和9點鄰域,其模板如圖1所示,它們的衰減因子分別為5、9。由圖1可知,平滑模板內(nèi)各因子之和除以相應的衰減因子的結(jié)果為1,其物理意義是平滑處理后圖像的平均亮度不變。


2.2 面粉麩星識別過程的設(shè)計
     利用C語言編程處理圖像的思路來說明麩星識別的基本過程:(1)根據(jù)閾值找出符合麩星點判別條件的所有像素點的坐標并存儲到相應的數(shù)組中(橫坐標和縱坐標分別存在2個數(shù)組中); (2)對這些坐標值進行分類,找出歸屬于同一個麩星的像素點的坐標統(tǒng)計出麩星的個數(shù)。本文在對這些坐標進行歸一化處理時采用的是“圓心賦零”的編程思想,即以數(shù)組(橫坐標和縱坐標同時使用)的第1個點為起始點(即“圓心”),逐個檢測后面的點看是否有起始點周圍的點,如果有則停止檢測并將“圓心”賦零,然后再以第2個點為起始點繼續(xù)檢測,如此重復一直到全部檢測完畢。但這其中還存在一個問題,即如何判定哪些點是“圓心”周圍的點。由于數(shù)組中存放的是像素點的坐標值,因此采用鄰域判別法進行判斷即可。例如:起始點為(3,3),則只需看數(shù)組中剩下的坐標值中是否有(2,2)、(2,3)、(2,4)、(3,2)、(3,4)、(4,2)、(4,3)、(4,4)即可(根據(jù)大量檢測試驗,判斷“原點”周圍2圈的點已夠用,如果想提高精度可擴大范圍),如果有,即存在周圍的點,反之亦然,如圖2所示。為了提高識別的速度可以在主函數(shù)外編寫1個小的判斷函數(shù),然后在主函數(shù)中反復調(diào)用即可。用“圓心賦零”法對數(shù)組處理完畢后,數(shù)組中只剩下屬于每個麩星的最右下方的像素點的坐標值,其余全部為零,接下來只需重新掃描數(shù)組統(tǒng)計其中不為零的點的個數(shù)即為麩星的個數(shù)。

     需要指出的是,為了拍攝方便,需將面粉制成面片,在這個過程中可能會因為壓面機滾軸生銹等原因在面片表面留下顏色較深的斑點,這些“干擾點”會使得檢測出的麩星個數(shù)存在誤差。通過大量的實驗數(shù)據(jù)分析可知,一般一個麩星點只包括幾個到十幾個像素點,而“干擾點”往往包括幾十個像素點,因此,可利用麩星面積遠小于“干擾點”的面積來判斷出這些“干擾點”并將它們?nèi)コ?,最終得到準確的麩星個數(shù)。在計算麩星面積時,本文采用的是“圓心統(tǒng)計”法,即以1個點為圓心統(tǒng)計出其周圍有多少個點。首先在統(tǒng)計麩星個數(shù)的同時將橫坐標數(shù)組和縱坐標數(shù)組中不為零的數(shù)統(tǒng)一存放在2個新的數(shù)組中,然后以新的數(shù)組中的第1個點為“圓心”點,對舊的數(shù)組(存放所有麩星像素點的數(shù)組)中的點逐個判斷是否為“圓心”周圍的點,如果是則累加。然后再以新的數(shù)組中的第2個點為“圓心”繼續(xù)檢測,直到所有的麩星面積都統(tǒng)計完畢。在這個過程中仍然使用上述的麩星識別的基本過程判斷程序,不過判斷范圍要擴大到“圓心”周圍5圈(根據(jù)具體情況范圍可自定)。
     在計算麩星個數(shù)和面積的同時,如果有需要還可計算出麩星面積的百分比、麩星位置等數(shù)據(jù)。
3 應用分析
     根據(jù)上面所述的基本原理和編程思想,利用C++ Builder 編寫了1款麩星檢測應用軟件如圖3所示(圖中的小白點)[10-11]。選取了龍福97-0189、龍麥26、格來尼等品種小麥面粉樣品進行精度測試,具體的比較結(jié)果如表1所示(檢測結(jié)果為每平方厘米所含麩星個數(shù))。以龍福97-0189為例,人工檢測的麩星個數(shù)的結(jié)果為18個,由于左上角的2個麩星的面積很小,因此人工檢測時被遺漏掉了,而軟件檢測的結(jié)果為20個,將遺漏的那2個點也檢測了出來。其他樣品的檢測試驗也具有相似的結(jié)果,基本上都能夠?qū)⑷斯z測時遺漏的點檢測出來,或?qū)⒍鄶?shù)的點排除出去。由此可見,與以往的經(jīng)驗數(shù)據(jù)相比,該軟件的檢測精度更高,而且可以大幅度提高操作人員的工作效率。

    與傳統(tǒng)的人工檢測方法相比,本文所提出的基于計算機圖像處理的面粉麩星檢測方法可以很好地檢測出面粉麩星的個數(shù)、面積、面積百分比等指標。其優(yōu)點是檢測精度高、檢測速度快,在很大程度上克服了傳統(tǒng)的人工檢測方法精度差、費時費力等缺點。此外,由于該檢測系統(tǒng)使用了先進的動態(tài)全局閾值選取法,因此其推廣性和適應性非常好,避免了反復修改檢測靈敏度的麻煩。
    通過大量實驗證明,該檢測系統(tǒng)的實用性強,非常適用于實驗室、農(nóng)科院等相關(guān)部門。
參考文獻
[1]   劉興信.關(guān)于我國小麥粉質(zhì)量標準問題的探討[J]. 中國糧油學報, 2002,5(1):1-6.
[2]   范璐, 周展明, 湯堅. 圖像分析測定紅麥硬度方法的研究[J]. 中國糧油學報, 2002,6(7):28-30.
[3]   GB1355 - 1986小麥粉國家標準[S].
[4]   糧食食品檢驗編寫組. 糧食食品檢驗[J]. 北京:中國財經(jīng)出版社,1992,4(5):13-27.
[5]   李同強. 面粉麩星的計算機檢測[J]. 中國糧油學報, 2005,4(2):26-29.
[6]   傅德成, 孫英. 食品質(zhì)量感官鑒別指南[J].北京:中國標準出版社,1994,2(8):21-25.
[7]   劉光. C++ Builder 程序設(shè)計導學[M]. 北京: 清華大學出版社, 2002:210-211.
[8]   陸宗騏. C/C++圖像處理編程[M]. 北京: 清華大學出版社, 2005.
[9]   黃春艷, 楊國勝, 侯艷麗. 基于熵的圖像二值化方法比較研究[J]. 河南大學學報,2005,6(2):76-78.
[10] 羅斌. C++ Builder 精彩編程實例集錦[M]. 北京: 中國水利水電出版社, 2005:238-240.
[11] 蒙祖強, 龔濤. C++ Builder 程序員成長攻略[M].北京: 中國水利水電出版社, 2007:369-37.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。