專(zhuān)利名稱(chēng):中醫(yī)舌診用的舌頭彩色數(shù)碼照片的舌體分割提取方法
技術(shù)領(lǐng)域:
本發(fā)明屬于中醫(yī)舌診用的舌頭彩色圖像處理技術(shù)領(lǐng)域。
背景技術(shù):
從20世紀(jì)80年代中后期開(kāi)始,中醫(yī)工作者和數(shù)字圖像工作者開(kāi)始聯(lián)合,嘗試以計(jì)算機(jī)技術(shù)為基礎(chǔ)進(jìn)行舌診客觀(guān)化研究。研究主要集中在舌頭照片顏色的校準(zhǔn),存儲(chǔ)和輸出和用現(xiàn)代圖像處理分析技術(shù)對(duì)舌頭的照片進(jìn)行處理等方面。其中,用圖像處理技術(shù)對(duì)舌頭的各個(gè)參數(shù)進(jìn)行分析的前提條件就是從人臉舌頭的圖像中提取出舌體區(qū)域部分,把其他部分去除。針對(duì)這個(gè)課題,人們采用了很多方法進(jìn)行了研究。
之前所采用的分割提取算法的不足之處主要為1)早期的分割算法采用簡(jiǎn)單的域值分割結(jié)合數(shù)學(xué)形態(tài)學(xué)的辦法進(jìn)行舌體的提取,分割的結(jié)果舌頭邊緣輪廓曲線(xiàn)比較粗糙,不能夠精確的勾勒出舌頭的邊緣。
2)中后期采用二維形變輪廓模型進(jìn)行舌體的分割,舌頭輪廓邊緣較準(zhǔn)確。但該方法的初始曲線(xiàn)取得的辦法有些為人體手工描繪,不能夠全自動(dòng);有些為指定矩形區(qū)域,導(dǎo)致曲線(xiàn)迭代時(shí)間過(guò)長(zhǎng),方法太過(guò)于耗時(shí)。
3)鑒于各個(gè)人的舌頭照片各異,顏色形狀不盡相同,各種方法分割并不能適用于各種不同人的舌頭。
4)暫時(shí)還沒(méi)有用算法開(kāi)發(fā)出應(yīng)用程序直接用于臨床使用。
發(fā)明內(nèi)容
針對(duì)上述已知技術(shù)出現(xiàn)的缺陷和醫(yī)生的需要,本發(fā)明的目的就是提供一種實(shí)用性較強(qiáng)的算法和基于該算法開(kāi)發(fā)的程序,實(shí)現(xiàn)自動(dòng)分割提取舌體的過(guò)程,而且使得到的結(jié)果精確,時(shí)間花費(fèi)更少。同時(shí)算法的結(jié)果為用計(jì)算機(jī)進(jìn)一步分析舌頭的圖像提供有效數(shù)據(jù)。
本發(fā)明的特征在于依次含有以下步驟步驟(1),向計(jì)算機(jī)輸入用數(shù)碼相機(jī)采集好的舌頭的彩色圖片,其中,以舌體為主;步驟(2),在計(jì)算中設(shè)定以下兩個(gè)調(diào)整參數(shù)分割速度,從慢到快分為9檔,相應(yīng)的取值范圍為2到10的整數(shù),代表降采樣的倍數(shù);舌體輪廓曲線(xiàn)光滑度,從粗糙到光滑分為6檔,相應(yīng)的取值范圍為1到5的整數(shù),代表該曲線(xiàn)迭代的次數(shù);步驟(3),利用分水嶺變換方法按以下步驟對(duì)輸入彩色圖像的紅色通道進(jìn)行處理,得到粗略的舌體輪廓圖步驟(3.1),把所述圖像中的每個(gè)像素點(diǎn)的紅色分量取出,按照像素的排列方式組成一張灰度圖表示的該圖像的紅色通道R(x,y);步驟(3.2),按照設(shè)定的降采樣倍數(shù)M對(duì)圖像進(jìn)行降采樣,得到降采樣后對(duì)應(yīng)的表示在灰度圖中的紅色通道的值f(x,y)=R(Mx,My),其中,M為2-10之間的整數(shù),(x,y)為降采樣后的像素點(diǎn)的坐標(biāo),R(Mx,My)為降采樣前圖像在(Mx,My)點(diǎn)的紅色分量;步驟(3.3),對(duì)所述灰度圖f(x,y),按下述利用標(biāo)記控制的分水嶺變換方法求出舌體的粗糙聳廓,建立舌體輪廓模型步驟(3.3.1),計(jì)算灰度圖f(x,y)的梯度圖g(x,y)∶g(x,y)=f(x,y)步驟(3.3.2),按以下步驟計(jì)算標(biāo)記函數(shù),用以標(biāo)記灰度圖f(x,y)中的目標(biāo)和對(duì)應(yīng)的背景步驟(3.3.2.1),從圖像RGB值計(jì)算飽和度St(x,y)St(x,y)=Max(R(x,y),G(x,y),B(x,y))-Min(R(x,y),G(x,y),B(x,y))Max(R(x,y),G(x,y),B(x,y))]]>其中,Max(R(x,y),G(x,y),B(x,y))≠0,St(x,y)為像素(x,y)點(diǎn)的飽和度,R(x,y),G(x,y),B(x,y)分別表示像素(x,y)點(diǎn)的紅色、綠色、藍(lán)色分量;步驟(3.3.2.2),根據(jù)設(shè)定的閾值Stth,對(duì)于每個(gè)像素點(diǎn)(x,y)的飽和度進(jìn)行判別,得到標(biāo)記圖像fm(x,y) 飽和度閾值Stth=0~1,取Stth=0.4;步驟(3.3.3),對(duì)梯度圖g(x,y)用標(biāo)記圖fm(x,y)進(jìn)行強(qiáng)制最小值,得到待分割圖fmin(x,y)
fmin(x,y)=g(x,y)*fm(x,y),fm(x,y)為標(biāo)記時(shí),fmin(x,y)=0,fm(x,y)非標(biāo)記時(shí),fmin(x,y)=g(x,y);步驟(3.3.4),按以下步驟對(duì)灰度圖fmin(x,y)用分水嶺變換的方法從中提取出一片連通區(qū)域構(gòu)成的舌體區(qū)域步驟(3.3.4.1),在X-Y平面上,對(duì)灰度圖fmin(x,y)沿著Y軸按給定的ΔY值作縱剖面圖;步驟(3.3.4.2),在所屬的縱剖面上,得到一條的采樣點(diǎn)為橫坐標(biāo),相應(yīng)的灰度值作為縱坐標(biāo)的曲線(xiàn)步驟(3.3.4.3),在所屬采樣點(diǎn)一灰度圖fmin(x,y)曲線(xiàn)上取出最小灰度值作為灰度閾值N,把fmin(x,y)分為大于灰度閾值和小雨灰度閾值上、下兩個(gè)部分,構(gòu)成的二值圖像 該二值圖象TN(x,y)的前一時(shí)刻的二值圖像為 其中,Step為增加的步長(zhǎng),在1~5間取值;步驟(3.3.4.4),把步驟(3.3.4.3)所得兩個(gè)相鄰時(shí)刻的二值圖象做異或操作,判斷TN-Step(x,y)≠TN(x,y)時(shí),S(x,y)是否等于1,TN-Step(x,y)=TN(x,y)時(shí),S(x,y)是否等于0,如果否定,則繼續(xù)增加步長(zhǎng),再作判斷,一直到滿(mǎn)足為止,此時(shí),Sj(x,y)是小分水嶺,像素點(diǎn)(x,y)是分水嶺的位置,像素點(diǎn)(x,y)對(duì)應(yīng)的灰度值屬于一片量筒的舌體區(qū)域的一部分;步驟(3.3.4.5),重復(fù)步驟(3.3.4.3)和步驟(3.3.4.4),得到所有的分水嶺,構(gòu)成一個(gè)分水嶺的集合S(x,y)=S1(x,y)·S2(x,y)·...·SK(x,y);步驟(3.3.4.6),把位于圖像中部的一片連通區(qū)域作為舌體區(qū)域,取出其邊界VV={V1,V2…VL},Vi=(xi,yi),i={1,2,…L),
其中,S(xi,yi)=1,V上的點(diǎn)是分水嶺變換計(jì)算出的封閉邊界;步驟(4),把步驟(3)得到的邊界V作為二維形變輪廓模型的初始曲線(xiàn),按以下步驟計(jì)算出光滑的舌體輪廓曲線(xiàn)步驟(4.1),對(duì)每個(gè)處于像素Vi周?chē)O(shè)定領(lǐng)域中的像素Vi′,定義該像素點(diǎn)Vi′的能量項(xiàng)為Ei(Vi′)=αEint(Vi′)+βEext(Vi′),其中,Eint是依賴(lài)于輪廓形狀的連續(xù)能量函數(shù),使輪廓趨于光滑Eint(Vi′)=1I(V)||Vi′-γ(Vi-1+Vi+1)||2,]]>I(V)是曲線(xiàn)V中各點(diǎn)的平均距離I(V)=1LΣi=1L||Vi+1-Vi||2,]]>對(duì)于封閉的曲線(xiàn),γ=12cos(2π/Len),]]>Len表示該曲線(xiàn)的長(zhǎng)度,所屬設(shè)定鄰域,取值為5×5,Eext是圖像灰度能量的函數(shù),將變形輪廓向高灰度移動(dòng),等于向原圖像的邊緣移動(dòng),使Eext(Vi′)=-g(Vi′),α、β是加權(quán)常數(shù),取2α=β=2,若Ei(Vi′)<Ei(Vi),則取Vi=Vi′;步驟(4.2),根據(jù)設(shè)定的曲線(xiàn)光滑度參數(shù),在設(shè)定的鄰域內(nèi)各個(gè)像素逐次迭代,使初始的舌體輪廓曲線(xiàn)收縮到使得能量Ei的位置,該收縮后最終得到的曲線(xiàn)內(nèi)部的連通區(qū)域即舌體區(qū)域;步驟(5),把最終得到的曲線(xiàn)用所選降采樣倍數(shù)擴(kuò)充后,放入原彩色圖像中,得到原彩色圖像中的舌體輪廓曲線(xiàn)V={V1,V2…VL},Vi=(M*xi,M*yi),i={1,2,…L},再把非舌體部分去處,填充白色,僅保存舌體部分,輸出結(jié)果。
本發(fā)明采用了兩步進(jìn)行舌體的分割提取,第一步先得到舌體粗略的輪廓圖,第二步再對(duì)輪廓線(xiàn)進(jìn)行調(diào)整,得到精確的輪廓圖。這種方法既保證了舌體區(qū)域正確性又保證了舌體輪廓曲線(xiàn)的精確性。該方法可以進(jìn)行全自動(dòng)的分割,不需要醫(yī)生進(jìn)行手動(dòng)選擇區(qū)域等復(fù)雜操作;另一方面,專(zhuān)門(mén)針對(duì)該算法開(kāi)發(fā)了應(yīng)用程序,應(yīng)用程序可以和醫(yī)生交互,由醫(yī)生控制分割需要的時(shí)間和舌體輪廓曲線(xiàn)的光滑度。
經(jīng)過(guò)對(duì)多幅醫(yī)院采集的舌頭圖像的測(cè)試,該方法分割提取的圖像結(jié)果非常準(zhǔn)確。測(cè)試的圖片的采樣對(duì)象年齡層次廣泛,同時(shí)也包括健康和疾病人群,充分說(shuō)明該方法能夠適應(yīng)圖像樣本的多樣性,沒(méi)有受到個(gè)體差異的影響(圖6,圖7,圖8分別為老人,小孩,青年照片和結(jié)果)。該算法和程序已經(jīng)應(yīng)用于臨床,方法操作簡(jiǎn)單方便,結(jié)果穩(wěn)定準(zhǔn)確。
圖1算法的流程圖;圖2標(biāo)記控制的分割算法流程圖;圖3分水嶺變換示意圖;圖4分水嶺變換詳細(xì)步驟示意圖(A)閾值為N時(shí)的分割圖像示意,(B)閾值為N-Step時(shí)的分割圖像示意,(C)得到的小分水嶺圖像示意;圖5二維形變輪廓模型算法示意圖;圖6該算法用于老人的舌頭照片取得的結(jié)果;圖7該算法用于小孩的舌頭照片取得的結(jié)果;圖8該算法用于青年的舌頭照片取得的結(jié)果;圖9取紅色通道,降采樣后的圖像;圖10梯度圖像;圖11飽和度圖像;圖12標(biāo)記函數(shù);圖13待分割圖像;圖14分水嶺位置;圖15二維形變模型的初始輪廓;圖16二維形變模型迭代50次后的效果圖。
具體實(shí)施例方式
該算法核心由Matlab實(shí)現(xiàn)。軟件界面用Delphi編寫(xiě)。輸入的舌頭照片由中醫(yī)大夫用數(shù)碼相機(jī)拍攝,拍攝時(shí)病人平伸出舌頭,方便醫(yī)生將整個(gè)舌頭攝入照片。
程序從數(shù)碼相機(jī)中讀入的彩色原始照片,大小為1024*960像素。得到紅色通道圖像后,取M=5,即橫、縱坐標(biāo)都降采樣5倍,得到如圖9所示的圖像。
求它的梯度圖像,得到梯度圖像如圖10所示,舌頭的邊緣比起圖9來(lái)被明顯增強(qiáng)了。
求得其飽和度通道圖像,如圖11所示,舌頭部分的顏色較暗,表示其飽和度較低。
將圖11處理后,能夠得到二值的標(biāo)記函數(shù),如圖12所示,其中,白色部分為0,表示標(biāo)記的部分,黑色部分為1,表示不是標(biāo)記的部分。
用強(qiáng)制最小值將標(biāo)記函數(shù)蓋在梯度圖上,得到待分割的圖像,如圖13所示。圖13與圖11相比,舌頭部分的細(xì)節(jié)全部都被屏蔽掉,能夠有效的避免分水嶺變換的過(guò)分割問(wèn)題。
圖14為分水嶺變換的結(jié)果,白色部分為0,黑色部分為1,黑色曲線(xiàn)即算法求出的分水嶺的位置。
將圖像中間的一塊連通區(qū)域取出,按照順時(shí)針得到區(qū)域的輪廓,即取得的二維輪廓形變的初始值。圖15表示的是該輪廓疊加在圖9上的效果圖。
再對(duì)圖15中的曲線(xiàn)用二維形變模型的方法進(jìn)行迭代,迭代100次后,得到效果圖如圖16所示。與圖15相比起來(lái),曲線(xiàn)更加光滑,而且舌體的輪廓邊緣更加準(zhǔn)確。
最后將原圖上的舌頭分割出,其他部分用白色填充,方法完成。
本發(fā)明的具體實(shí)施步驟如下1)輸入用數(shù)碼相機(jī)采集好的舌頭的彩色圖片。
彩色照片需要以舌體為主,專(zhuān)用于舌診的研究。
2)調(diào)整參數(shù),選擇分割需要的時(shí)間和舌體輪廓的光滑度。
可供調(diào)整的參數(shù)有兩個(gè)一個(gè)是分割速度,從慢到快分為9檔;一個(gè)是曲線(xiàn)光滑度,從粗糙到光滑分為6檔。第一個(gè)分割速度的參數(shù)用于第一步的分割(即步驟3);第二個(gè)曲線(xiàn)光滑度的參數(shù)用于控制第二步的分割(即步驟4)。具體應(yīng)用時(shí)也可以不進(jìn)行該項(xiàng)操作,選擇默認(rèn)值即可。
第一個(gè)分割速度參數(shù)的取值范圍是從2到10的整數(shù),代表的意思是將圖像降采樣的倍數(shù),將采樣的倍數(shù)越大,處理的圖像就會(huì)越小,從而處理的時(shí)間越快;第二個(gè)曲線(xiàn)光滑度的參數(shù)的取值范圍是從1到5的整數(shù),曲線(xiàn)迭代的次數(shù)。
3)利用分水嶺變換對(duì)圖像的紅色通道進(jìn)行處理,得到粗略的舌體輪廓圖。
在計(jì)算機(jī)中,一幅彩色圖像的每個(gè)像素點(diǎn)的顏色由三個(gè)字節(jié)來(lái)表示,三個(gè)字節(jié)分別代表該像素點(diǎn)的紅色,綠色,藍(lán)色分量。將每個(gè)像素點(diǎn)的紅色分量取出,按照像素點(diǎn)的排列方式組成一張灰度圖,即該圖的紅色通道R(x,y)。
按照步驟2中選擇的降采樣倍數(shù)對(duì)圖像進(jìn)行降采樣,設(shè)確定的圖像降采樣倍數(shù)為M,按照步驟2的設(shè)定,M為2~10之間的整數(shù)。
f(x,y) =R(Mx,My)(x,y)為降采樣后的圖像點(diǎn)的坐標(biāo),R(Mx,My)為降采樣前圖像在(Mx,My)點(diǎn)的紅色分量,f(x,y)為降采樣后取出的紅色通道的值。之后的處理都在該灰度圖f(x,y)上進(jìn)行。對(duì)該灰度圖f(x,y),利用標(biāo)記控制的分水嶺變換求出舌體的大致輪廓,建立舌體輪廓模型,流程圖如圖2所示,具體方法如下首先,取得f(x,y)的梯度圖g(x,y),用于增強(qiáng)圖像的邊界。
g(x,y)=f(x,y)然后,借助特征檢測(cè)確定標(biāo)記函數(shù),標(biāo)記函數(shù)的作用是標(biāo)記出目標(biāo)和對(duì)應(yīng)的背景。根據(jù)拍攝圖像中舌體部分的飽和度較低的特點(diǎn),標(biāo)記函數(shù)從圖像的飽和度圖中求出。從圖像RGB值中得到飽和度的表達(dá)式為Max(R(x,y),G(x,y),B(x,y))≠0St(x,y)=Max(R(x,y),G(x,y),B(x,y))-Min(R(x,y),G(x,y),B(x,y))Max(R(x,y),G(x,y),B(x,y))]]>(x,y)為點(diǎn)的坐標(biāo),St(x,y)為(x,y)點(diǎn)的飽和度,R(x,y),G(x,y),B(x,y)分別表示(x,y)點(diǎn)的紅色、綠色、藍(lán)色分量。
選取亮度閾值Stth,對(duì)于每個(gè)像素(x,y),標(biāo)記圖像fm(x,y)的定義為 Stth的取值范圍為0~1,根據(jù)經(jīng)驗(yàn),取Stth=0.4。
對(duì)g(x,y)用圖像fm(x,y)進(jìn)行強(qiáng)制最小值,得到待分割圖像無(wú)fmin(x,y)。
fmin(x,y)=g(x,y)*fm(x,y),即fm(x,y)為標(biāo)記時(shí),fmin(x,y)為0, fm(x,y)不是標(biāo)記時(shí),fmin(x,y)為本來(lái)梯度g(x,y)的值。
最后對(duì)fmin(x,y)采用分水嶺變換。
借助漲水法來(lái)介紹分水嶺技術(shù)。利用圖3來(lái)進(jìn)行討論,為了簡(jiǎn)便,僅畫(huà)出各個(gè)目標(biāo)的一維剖面圖。橫坐標(biāo)代表圖像中的采樣點(diǎn),縱坐標(biāo)代表該點(diǎn)的灰度值。假設(shè)有水從谷底涌出并且水位逐漸增高。如果從兩個(gè)谷底涌出的水水位高過(guò)了其間的山峰,這些水就會(huì)匯合。如果要阻止水的匯合,就需要在山峰上修建水壩,且水壩的高度隨著水位的上升而增高。這個(gè)過(guò)程隨著全部山峰都被水淹沒(méi)而結(jié)束。修建的所有水壩把土地分割成很多區(qū)域,這些水壩就構(gòu)成了這片土地的分水嶺。以圖3而言,圖中出現(xiàn)的三個(gè)波為全局,表示為從圖像中任意取出的一個(gè)部分;每一個(gè)波為局部,在每個(gè)局部中包含一個(gè)波峰和一個(gè)波谷。
以上是分水嶺的步驟,即以Step的步幅逐漸增加灰度閾值N,Step表示每次灰度增加的值,取值可選為1~5。每當(dāng)N大于一個(gè)局部極大值,就把當(dāng)時(shí)的二值圖像(只區(qū)分陸地和水域,即大于灰度閾值和小于灰度閾值兩部分)與前一時(shí)刻(即灰度閾值上一個(gè)值的時(shí)刻)的二值圖像進(jìn)行邏輯異或操作。
用M1,M2,…MR表示fmin(x,y)中各個(gè)局部極小值,即谷底孔的像素位置,如圖4(B)中所示,取灰度閾值N,得到二值圖像TN(x,y)=0fmin(x,y)<N1fmin(x,y)≥N]]>N-Step為前一時(shí)刻的灰度閾值,如圖4(A)所示,此時(shí)二值圖像為T(mén)N-Step(x,y)=0fmin(x,y)<N-Step1fmin(x,y)≥N-Step]]>如果TN-Step(x,y)內(nèi)的兩個(gè)連通區(qū)域,如圖4(A)中所示的包含Mj和Mj+1的兩個(gè)局部最小值的連通區(qū)域Cn(Mj)和Cn(Mj+1)在TN(x,y)中合并成了一個(gè)連通區(qū)域,如圖4(B)所示,將TN-Step(x,y)和TN(x,y)兩幅圖像進(jìn)行異或操作,定義為Sj(x,y)=TN-Step(x,y)TN(x,y)如果TN-Step(x,y)=TN(x,y),則Sj(x,y)=0;如果TN-Step(x,y)≠TN(x,y),則Sj(x,y)=1。
(x,y)是點(diǎn)的坐標(biāo),Sj(x,y)標(biāo)志的是分水嶺,如果(x,y)是分水嶺的位置,則Sj(x,y)=1。如圖4(C)中所示。
N的取值從波谷開(kāi)始,到波峰結(jié)束,每次增加Step,就可以得到所有的分水嶺為S1(x,y),S2(x,y)…SK(x,y)分水嶺變換的結(jié)果為所有分水嶺的集合
S(x,y)=S1(x,y)·S2(x,y)·…·SK(x,y)得到的分水嶺結(jié)果后,根據(jù)照片拍攝特點(diǎn),一般舌頭的位置都位于照片正中,取得位于圖片中心的一片連通區(qū)域?yàn)樾杼崛〉纳囿w區(qū)域。取出這個(gè)區(qū)域的邊界V。
V={V1,V2…VL},Vi=(xi,yi),i={1,2,…L},其中S(xi,yi)=1,即V上的點(diǎn)肯定是分水嶺變換計(jì)算出的邊界。
這個(gè)邊界便是分水嶺算法得到的舌體的邊界曲線(xiàn),也是二維形變輪廓模型算法的初始曲線(xiàn)。
4)用上述方法的輪廓作為初始用二維形變輪廓模型的迭代方法提取精確的舌體輪廓曲線(xiàn)。
分水嶺變換得到的結(jié)果V={V1,V2…VL},Vi=(xi,yi),i={1,2,…L}為圖像上一組排序的點(diǎn)的集合。處在輪廓上的點(diǎn),通過(guò)解一個(gè)最小能量問(wèn)題來(lái)迭代地逼近目標(biāo)的邊界。對(duì)每個(gè)處于Vi周?chē)?×5的鄰域中內(nèi)的點(diǎn)Vi′,定義該能量項(xiàng)為Ei(Vi′)=αEint(Vi′)+βEext(Vi′)其中,Eint是依賴(lài)于輪廓形狀的能量函數(shù),選取其為連續(xù)能量,迫使封閉曲線(xiàn)變成圓環(huán),使得輪廓更趨于光滑。Eint(Vi′)=1I(V)||Vi′-γ(Vi-1+Vi+1)||2]]>在式中I(V)是歸一化因子,是曲線(xiàn)V中各點(diǎn)的平均距離I(V)=1LΣi=1L||Vi+1-Vi||2;]]>對(duì)于封閉的曲線(xiàn),取γ=12cos(2π/Len),]]>其中Len表示曲線(xiàn)的長(zhǎng)度。
Eext是依賴(lài)于圖像性質(zhì)的能量函數(shù),選取其為圖像灰度能量,將變形輪廓向高灰度移動(dòng)。Eext(Vi′)=-g(Vi′)。實(shí)際上,由于我們選取的是梯度圖像,變形輪廓應(yīng)該是向原圖像的邊緣移動(dòng)。
α、β是加權(quán)常數(shù),在本算法中,考慮到舌頭附近邊緣比較明顯,取2α=β=2,即外力作用為主導(dǎo)。
如果Ei(Vi′)<Ei(Vi),則Vi=Vi′。
迭代的次數(shù)又步驟2中的第二個(gè)參數(shù)控制,參數(shù)選擇為1~5,即迭代次數(shù)為10次到50次。迭代后曲線(xiàn)收縮到使得能量Ei最小的位置,即本算法的最后結(jié)果。該曲線(xiàn)內(nèi)部的連通區(qū)域即我們需要提取的舌體區(qū)域。
5)將最終得到的曲線(xiàn)V={V1,V2…VL},Vi=(xi,yi),i={1,2,…L}擴(kuò)充后放入到原本的彩色圖像中,即V={V1,V2…VL},Vi=(M*xi,M*yi),i={1,2,…L}。將非舌體部分去除,填充白色,僅保存舌體部分,輸出結(jié)果。
結(jié)果可供下一步的圖像處理使用,也可供醫(yī)生查看。
權(quán)利要求
1.中醫(yī)舌診用的舌頭彩色數(shù)碼照片的舌體分割提取方法,其特征在于,依次含有以下步驟步驟(1),向計(jì)算機(jī)輸入用數(shù)碼相機(jī)采集好的舌頭的彩色圖片,其中,以舌體為主;步驟(2),在計(jì)算中設(shè)定以下兩個(gè)調(diào)整參數(shù)分割速度,從慢到快分為9檔,相應(yīng)的取值范圍為2到10的整數(shù),代表降采樣的倍數(shù);舌體輪廓曲線(xiàn)光滑度,從粗糙到光滑分為6檔,相應(yīng)的取值范圍為1到5的整數(shù),代表該曲線(xiàn)迭代的次數(shù);步驟(3),利用分水嶺變換方法按以下步驟對(duì)輸入彩色圖像的紅色通道進(jìn)行處理,得到粗略的舌體輪廓圖步驟(3.1),把所述圖像中的每個(gè)像素點(diǎn)的紅色分量取出,按照像素的排列方式組成一張灰度圖表示的該圖像的紅色通道R(x,y);步驟(3.2),按照設(shè)定的降采樣倍數(shù)M對(duì)圖像進(jìn)行降采樣,得到降采樣后對(duì)應(yīng)的表示在灰度圖中的紅色通道的值f(x,y)=R(Mx,My),其中,M為2~10之間的整數(shù),(x,y)為降采樣后的像素點(diǎn)的坐標(biāo),R(Mx,My)為降采樣前圖像在(Mx,My)點(diǎn)的紅色分量;步驟(3.3),對(duì)所述灰度圖f(x,y),按下述利用標(biāo)記控制的分水嶺變換方法求出舌體的粗糙輪廓,建立舌體輪廓模型步驟(3.3.1),計(jì)算灰度圖f(x,y)的梯度圖g(x,y)g(x,y)=f(x,y)步驟(3.3.2),按以下步驟計(jì)算標(biāo)記函數(shù),用以標(biāo)記灰度圖f(x,y)中的目標(biāo)和對(duì)應(yīng)的背景步驟(3.3.2.1),從圖像RGB值計(jì)算飽和度St(x,y)St(x,y)=Max(R(x,y),G(x,y),B(x,y))-Min(R(x,y),G(x,y),B(x,y))Max(R(x,y),G(x,y),B(x,y))]]>其中,Max(R(x,y),G(x,y),B(x,y))≠0,St(x,y)為像素(x,y)點(diǎn)的飽和度,R(x,y),G(x,y),B(x,y)分別表示像素(x,y)點(diǎn)的紅色、綠色、藍(lán)色分量;步驟(3.3.2.2),根據(jù)設(shè)定的閾值Stth,對(duì)于每個(gè)像素點(diǎn)(x,y)的飽和度進(jìn)行判別,得到標(biāo)記圖像fm(x,y) 飽和度閾值Stth=0~1,取STth=0.4;步驟(3.3.3),對(duì)梯度圖g(x,y)用標(biāo)記圖fm(x,y)進(jìn)行強(qiáng)制最小值,得到待分割圖fmin(x,y)fmin(x,y)=g(x,y)*fm(x,y),fm(x,y)為標(biāo)記時(shí),fmin(x,y)=0,fm(x,y)非標(biāo)記時(shí),fmin(x,y)=g(x,y);步驟(3.3.4),按以下步驟對(duì)灰度圖fmin(x,y)用分水嶺變換的方法從中提取出一片連通區(qū)域構(gòu)成的舌體區(qū)域步驟(3.3.4.1),在X-Y平面上,對(duì)灰度圖fmin(x,y)沿著Y軸按給定的ΔY值作縱剖面圖;步驟(3.3.4.2),在所屬的縱剖面上,得到一條的采樣點(diǎn)為橫坐標(biāo),相應(yīng)的灰度值作為縱坐標(biāo)的曲線(xiàn);步驟(3.3.4.3),在所屬采樣點(diǎn)—灰度圖fmin(x,y)曲線(xiàn)上取出最小灰度值作為灰度閾值N,把fmin(x,y)分為大于灰度閾值和小雨灰度閾值上、下兩個(gè)部分,構(gòu)成的二值圖像 該二值圖象TN(x,y)的前一時(shí)刻的二值圖像為 其中,Step為增加的步長(zhǎng),在1~5間取值;步驟(3.3.4.4),把步驟(3.3.4.3)所得兩個(gè)相鄰時(shí)刻的二值圖象做異或操作,判斷TN-Step(x,y)≠TN(x,y)時(shí),S(x,y)是否等于1,TN-Step(x,y)=TN(x,y)時(shí),S(x,y)是否等于0,如果否定,則繼續(xù)增加步長(zhǎng),再作判斷,一直到滿(mǎn)足為止,此時(shí),Sj(x,y)是小分水嶺,像素點(diǎn)(x,y)是分水嶺的位置,像素點(diǎn)(x,y)對(duì)應(yīng)的灰度值屬于一片量筒的舌體區(qū)域的一部分;步驟(3.3.4.5),重復(fù)步驟(3.3.4.3)和步驟(3.3.4.4),得到所有的分水嶺,構(gòu)成一個(gè)分水嶺的集合S(x,y)=S1(x,y)·S2(x,y)·…·SK(x,y);步驟(3.3.4.6),把位于圖像中部的一片連通區(qū)域作為舌體區(qū)域,取出其邊界VV={V1,V2…VL},Vi=(xi,yi),i={1,2,…L},其中,S(xi,yi)=1,V上的點(diǎn)是分水嶺變換計(jì)算出的封閉邊界;步驟(4),把步驟(3)得到的邊界V作為二維形變輪廓模型的初始曲線(xiàn),按以下步驟計(jì)算出光滑的舌體輪廓曲線(xiàn)步驟(4.1),對(duì)每個(gè)處于像素Vi周?chē)O(shè)定領(lǐng)域中的像素Vi′,定義該像素點(diǎn)Vi′的能量項(xiàng)為Ei(Vi′)=αEint(Vi′)+βEext(Vi′),其中,Eint是依賴(lài)于輪廓形狀的連續(xù)能量函數(shù),使輪廓趨于光滑Eint(Vi′)=1I(V)||Vi′-γ(Vi-1+Vi+1)||2,]]>I(V)是曲線(xiàn)V中各點(diǎn)的平均距離I(V)=1LΣi=1L||Vi+1-Vi||2,]]>對(duì)于封閉的曲線(xiàn),γ=12co(2π/Len),]]>Len表示該曲線(xiàn)的長(zhǎng)度,所屬設(shè)定鄰域,取值為5×5,Eext是圖像灰度能量的函數(shù),將變形輪廓向高灰度移動(dòng),等于向原圖像的邊緣移動(dòng),使Eext(Vi′)=-g(Vi′),α、β是加權(quán)常數(shù),取2α=β=2,若Ei(Vi′)<Ei(Vi),則取Vi=Vi′;步驟(4.2),根據(jù)設(shè)定的曲線(xiàn)光滑度參數(shù),在設(shè)定的鄰域內(nèi)各個(gè)像素逐次迭代,使初始的舌體輪廓曲線(xiàn)收縮到使得能量Ei的位置,該收縮后最終得到的曲線(xiàn)內(nèi)部的連通區(qū)域即舌體區(qū)域;步驟(5),把最終得到的曲線(xiàn)用所選降采樣倍數(shù)擴(kuò)充后,放入原彩色圖像中,得到原彩色圖像中的舌體輪廓曲線(xiàn)V={V1,V2…VL},Vi=(M*xi,M*yi),i={1,2,…L},再把非舌體部分去處,填充白色,僅保存舌體部分,輸出結(jié)果。
全文摘要
本發(fā)明屬于中醫(yī)舌診用的舌頭彩色圖像處理技術(shù)領(lǐng)域。具體特征在于,用兩步對(duì)舌體進(jìn)行分割提取首先得到舌體的粗略輪廓圖,其次用二維形變輪廓模型進(jìn)行較準(zhǔn)確的分割。在第一步中,用分水嶺變換對(duì)圖像的紅色通道進(jìn)行處理,得到粗略的舌體輪廓,在處理時(shí)先用飽和度圖閾值求圖像的標(biāo)記圖像,再用標(biāo)記圖像對(duì)圖像的梯度圖進(jìn)行強(qiáng)制最小值,得到待分割圖像,然后再用分水嶺變換方法對(duì)待分割圖像采用在圖像縱剖面的采樣點(diǎn)—灰度值曲線(xiàn)上,實(shí)施分水嶺變換,得到一個(gè)由各縱剖面上的分水嶺構(gòu)成的集合,該分水嶺集合中的一片連通區(qū)域即為舌體區(qū)域,其邊界就是舌體粗略輪廓圖。試驗(yàn)證明,圖像結(jié)果非常準(zhǔn)確,適用于不同年齡層次的健康和疾病人群。
文檔編號(hào)A61B5/117GK1920854SQ200610113119
公開(kāi)日2007年2月28日 申請(qǐng)日期2006年9月15日 優(yōu)先權(quán)日2006年9月15日
發(fā)明者白凈, 張永紅, 吳佳 申請(qǐng)人:清華大學(xué)