徐慶偉, 馬志喜, 劉洲峰
(1.中原工學(xué)院, 鄭州 450007; 2.河南省同力水泥有限公司, 河南 鶴壁 458000)
基于MIL的圖像分割算法研究
徐慶偉1, 馬志喜2, 劉洲峰1
(1.中原工學(xué)院, 鄭州 450007; 2.河南省同力水泥有限公司, 河南 鶴壁 458000)
傳統(tǒng)分水嶺圖像分割算法主要基于梯度模值圖像,尋找集水盆地,易產(chǎn)生過分割現(xiàn)象。本文提出了基于MIL改進(jìn)的分水嶺圖像分割算法,借助MIL軟件開發(fā)性強(qiáng)、函數(shù)庫功能強(qiáng)大等特點(diǎn),對粘連目標(biāo)圖像進(jìn)行了分割。實(shí)驗(yàn)證明,該方法具有較強(qiáng)的有效性和實(shí)用性。
分水嶺圖像分割算法;梯度模值;集水盆地;過分割;粘連目標(biāo)
圖像分割根據(jù)顏色、灰度、紋理和輪廓形狀等特征把圖像劃分成若干互不交迭、具有獨(dú)特性質(zhì)的區(qū)域,并使這些特征在同一區(qū)域內(nèi)呈現(xiàn)出更多相似性,而在不同區(qū)域間呈現(xiàn)出較明顯的差異性。其分割過程相當(dāng)于對圖像中的每個(gè)像素加一標(biāo)簽,使得具有同類標(biāo)簽的像素顯現(xiàn)出相近的視覺感知特性[1]。
當(dāng)前,主要的圖像分割算法有基于閾值的分割算法、基于邊緣的分割算法、基于區(qū)域的分割算法、基于聚類分析和基于形態(tài)學(xué)的分水嶺圖像分割算法等。其中,分水嶺圖像分割算法具有計(jì)算速度較快、對圖像微弱邊緣具有良好響應(yīng)、便于得到封閉連續(xù)邊緣等優(yōu)點(diǎn),成為目前使用較為廣泛的分割算法之一。
分水嶺算法是一種基于拓?fù)淅碚摰臄?shù)學(xué)形態(tài)學(xué)梯度分割處理方法。其基本思想是把圖像看作是地理上的拓?fù)涞孛?,圖像中每個(gè)像素灰度值表示該點(diǎn)的海拔高度,每一個(gè)局部極小值及其影響區(qū)域稱為集水盆地,相鄰集水盆地的邊界則形成了分水嶺[2],如圖1所示。
如果圖像中出現(xiàn)多個(gè)目標(biāo)重疊現(xiàn)象,重疊部分的像素灰度值較接近,目標(biāo)分割難度就會(huì)很大,如圖2所示。分水嶺分割算法因其自身的特點(diǎn),圖像中亮度較強(qiáng)區(qū)域像素值較大,較暗區(qū)域像素值則較小,并對圖像中的前景對象和背景對象進(jìn)行區(qū)分標(biāo)記[3],通過尋找“集水盆地”和“分水嶺邊界”,可對圖像中重疊目標(biāo)進(jìn)行較好的分割。
圖1 集水盆地構(gòu)造
圖2 粘連藥丸
MIL全稱為Matrox Imaging Library,由加拿大Matrox公司開發(fā)。MIL軟件包是一個(gè)獨(dú)立于硬件的、含有多個(gè)標(biāo)準(zhǔn)模塊或組件的32位圖像庫,可以對圖像進(jìn)行采集、處理、分析、顯示和存取操作。
采用MIL軟件進(jìn)行應(yīng)用程序開發(fā)首先要設(shè)置開發(fā)環(huán)境,放好動(dòng)態(tài)鏈接庫位置,鏈接導(dǎo)入庫文件,引入必要的.h頭文件。
2.1 MIL基本組成
與C++的對象一樣,MIL中的5大基本對象(Application、System、Display、Digtizer、Date Buffer)可看作一個(gè)結(jié)構(gòu)體[4]。圖3是這5大基本對象的關(guān)系圖。
圖3 MIL基本對象之間關(guān)系
Application指的是自己開發(fā)的一個(gè)應(yīng)用程序。一般應(yīng)用程序同一時(shí)刻只存在一個(gè)Application對象,主要用來提供一個(gè)用于控制和執(zhí)行MIL應(yīng)用程序的基本環(huán)境。
System包含CPU或GPU、內(nèi)存或顯存,為圖像控制器單元分配的一個(gè)虛擬訪問對象,能夠通過加上相機(jī)和顯示器來采集、保存和顯示。每個(gè)Application下可以包含多個(gè)System,如同一臺電腦可以插上多塊Matrox圖像板卡。
Date Buffer對應(yīng)一塊內(nèi)存,可以對它賦予不同的屬性,對圖像作相應(yīng)處理,如存儲(chǔ)、顯示、采集、處理。
Digtizer用于相機(jī)的采集和相機(jī)屬性的調(diào)整等。
Display對應(yīng)顯示器,用于完成所有和顯示有關(guān)的操作,默認(rèn)分配的Display對象不需要選擇要顯示的窗口句柄。
2.2 MIL圖像新建和顯示
操作步驟為:
①分配默認(rèn)的應(yīng)用和系統(tǒng)。首先分配Application和默認(rèn)的System、Date Buffer、Display。默認(rèn)的System是PC,默認(rèn)的Date Buffer包含MIL安裝時(shí)指定的DCF文件定義,默認(rèn)的Display和默認(rèn)Date Buffer關(guān)聯(lián)為MIL內(nèi)建的Windowed Display。
②分配顯示的圖像Date Buffer。
③初始化Date Buffer,內(nèi)存中繪制相應(yīng)圖像。
④分配顯示Display。
⑤圖像Date Buffer內(nèi)容顯示到相應(yīng)Display上,即Windows窗口中。
⑥釋放分配的資源。
分水嶺圖像分割算法可以將圖像分割為互不重疊區(qū)域,其應(yīng)用對象是灰度梯度圖像。梯度圖像可由Sobel算子在灰度圖像上得到[5]。
Sobel算子是一種離散性差分算子,包含2組3×3矩陣的算子。一個(gè)是橫向矩陣,一個(gè)是縱向矩陣,主要用于圖像邊緣檢測。使用Sobel邊緣算子對圖像進(jìn)行水平和垂直方向的濾波,然后求取模值。Sobel算子濾波后的圖像在邊界處會(huì)顯示比較大的值,在沒有邊界處的值會(huì)很小。用I代表原始圖像,Dx和Dy分別代表經(jīng)水平和垂直方向邊緣檢測的圖像,如式(1)和式(2)所示:
(1)
(2)
梯度大小D如式(3)所示:
(3)
梯度方向角θ如式(4)所示:
(4)
使用MIL軟件的MimEdgeDetect( )函數(shù)對原始圖像進(jìn)行邊緣檢測操作,尋找“集水盆地”。源程序代碼如下:
MimEdgeDetect(MilImageWatershed,MilImageWatershed,M_NULL,M_SOBEL,M_REGULAR_EDGE_DETECT,M_NULL);
MimWatershed(MilImageWatershed,M_NULL,MilImageWatershed,WATERSHED_MINIMAL_GRADIENT_VARIATION,M_MINIMAL_FILL+M_BASIN);
但是,直接對梯度模值圖像進(jìn)行分水嶺算法分割往往會(huì)存在過分割現(xiàn)象[5-7]。本文改進(jìn)后的算法為,取下背景的標(biāo)簽,將其剪輯為零,并將其他標(biāo)簽加至緩沖區(qū)的最大值,以獲得更好的分割效果。源程序代碼如下:
MbufGet2d(MilImageWatershed,M_PIXEL_FETCH_POSITION_X,M_PIXEL_FETCH_POSITION_Y, 1, 1,lFetchedValue);
MimClip(MilImageWatershed,MilImageWatershed,M_EQUAL,lFetchedValue, 0, 0, 0);
MimClip(MilImageWatershed,MilImage,M_NOT_EQUAL, 0, 0, 0xFF, 0);
處理后藥丸二值化圖像如圖4所示:
圖4 藥丸二值化圖像
采用歐幾里得距離變換,將二值化圖像前景中的像素值轉(zhuǎn)化為該點(diǎn)到達(dá)最近的背景點(diǎn)的距離[8]。尋找圖像的分水嶺,采用數(shù)學(xué)形態(tài)學(xué)“與”操作來分離粘連的藥丸,分割效果較滿意,如圖5所示。源程序代碼如下:
MimDistance(MilImage,MilImageWatershed,M_CHAMFER_3_4);
MimWatershed(MilImageWatershed,M_NULL,MilImageWatershed,WATERSHED_MINIMAL_DISTANCE_VARIATION,M_STRAIGHT_WATERSHED+M_MAXIMAL_FILL+M_SKIP_LAST_LEVEL);
MimArith(MilImageWatershed,MilImage,MilImage,M_AND);
圖5 分離后的藥丸
借助于MIL軟件采用改進(jìn)的分水嶺圖像分割算法,通過數(shù)學(xué)形態(tài)學(xué)操作對粘連圖像進(jìn)行了很好的分割,達(dá)到了預(yù)期的實(shí)驗(yàn)?zāi)康摹T摲椒▽?huì)在機(jī)器視覺、圖像模式識別領(lǐng)域得到更加廣泛的應(yīng)用。
[1] (美)岡薩雷斯.數(shù)字圖像處理(MATLAB)[M].北京:電子工業(yè)出版社,2004:30-35.
[2]GonzalezRC,WoodsRE.DigitalImageProcessing[M].北京:電子工業(yè)出版社,2004:500-507.
[3] 楊文明,陳國斌,沈曄湖.一種基于分水嶺變換的圖像分割方案[J]. 浙江大學(xué)學(xué)報(bào)(工學(xué)版),2006, 40(9): 1503-1510.
[4] 文洲.MIL開發(fā)基礎(chǔ)概念和步驟[EB/OL].(2013-10-18).http://blog.csdn.net/wenzhou1219/article/details/12857933.
[5] 陳婷婷.采用模糊形態(tài)學(xué)和分水嶺算法的圖像分割研究[D].重慶:西南大學(xué),2008.
[6] 陳琳.基于分形和分水嶺的圖像分割方法[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2008, 25(8):227-228.
[7] 杜俊利,李樂.基于標(biāo)記提取分水嶺算法的醫(yī)學(xué)圖像分割[J].中原工學(xué)院學(xué)報(bào),2012(6):42-47.
[8]KimJB,KimHJ.Multiresolution-basedWatershedsforEfficientImageSegmentation[J].PatternRecognitionLetters, 2003,24(1-3): 473-488.
(責(zé)任編輯:陸俊杰)
Study of Image Segmentation Algorithm Based on MIL
XU Qing-wei1, MA Zhi-xi2, LIU Zhou-feng1
(1.Zhongyuan University of Technology, Zhengzhou 450007;2.Henan Tongli Cement Co., Ltd., Hebi 458000, China)
The traditional watershed image segmentation algorithm acting on gradient modulus value image and looking for catchment basin, easyly brings over segmentation phenomenon. This paper proposes an improved watershed image segmentation algorithm based on MIL software, using Mil software's strong development and powerful function library, the object images of adhesion have good segmentation. The method is demonstrated it’s validity and practicability by the experiments.
watershed image segmentation algorithm; gradient modulus value; catchment basin; over segmentation; object images of adhesion
2016-10-12
河南省基礎(chǔ)與前沿研究項(xiàng)目(142300410042)
徐慶偉(1980-),男,河南焦作人,講師,碩士,主要研究方向?yàn)闄C(jī)器視覺圖形圖像處理、模式識別。
1671-6906(2016)06-0087-04
TP11
A
10.3969/j.issn.1671-6906.2016.06.018