閾值分割實質(zhì)是對每一個象素點確定一個閾值,根據(jù)閾值決定當前象素是前景還是背景點,這種方法簡單、計算量小、速度快、統(tǒng)計準確,可以適時獲取圖像的閾值,PCB圖像分割的效果非常好,圖像分割以后,保證了目標圖形的完好無損,圖象增強之后,使的開路和短路更加清晰、突出,為以后的圖像處理做好了充分的準備工作。
算法理論
自適應閾值分割算法:
?。?)將圖像分成4個子圖像;
?。?)計算每個字圖像的均值;
?。?)根據(jù)均值設(shè)置閾值,閾值只應用在對應的子圖像;
?。?)根據(jù)閾值,對每個子塊進行分割。
此算法中,將均值作為子塊的閾值。
印刷電路板的灰度分布特征,如圖1所示,其具有以下特征:
?。?)具有明顯的背景峰值和目標峰值;
?。?)兩個峰值距離較遠,而且其間灰度值基本相等,沒有明顯的波谷;
?。?)背景象素點和目標象素點的灰度變化具有連續(xù)性,目標邊界的灰度是漸變的,不是突變的,如下圖所示。
經(jīng)實踐證明,文獻[1]中的算法不適合印刷電路板,分割的效果也不是很好,因為平均灰度不一定是直方圖的波谷,而且在PCB的直方圖中有很大一部分平坦的區(qū)域,甚至為0的灰度級,尋找極小值點比較困難,為了對PCB圖像進行準確的分割,需要尋找另外一種有效的方法,注意到,平均灰度值點是在兩個峰值之間(即,平均灰度值在背景灰度值和目標灰度值之間),而且靠近于波谷,所以考慮在其領(lǐng)域內(nèi)尋找極小值點。 為了分割PCB的目標圖像,可以先確定出直方圖的目標峰,再確定極小值點,然后可以找出背景峰,將極小值點作為分割閾值,在目標峰和背景峰附近選擇一個灰度值,分別作為開路、短路增強的閾值,在PCB圖像中,但有時目標比較稀疏,但有時比較密集。尋找整個直方圖的最大值點比較簡單,但是如何確定這個峰值是背景峰還是目標峰,成為問題的關(guān)鍵。
對于一般的PCB圖像,其目標(銅線)表現(xiàn)為高灰度,背景表現(xiàn)為低灰度,以下討論一種可行的閾值搜索方法,如圖2所示。
?。?)找出最大的一個峰值所對應的灰度值。在全灰度區(qū)間[0,255]找出f(H)的最大值,其對應值即為H;
?。?)計算圖像的平均灰度:
(3)確定是背景峰還是目標峰:
如果H<Hawe,平均灰度在最大值點的右側(cè),表明H是背景峰值,記為Hb;
如果H<Hawe,平均灰度在最大值點的左側(cè),表明H是目標峰值,記為Hf。
?。?)選取極小值點,在平均值點的30鄰域內(nèi),尋找極小值,其對應值即為Hmin。
注:鄰域的大小可以根據(jù)實際情況自行選定。
(5)確定的第二個峰值點:
如果(3)中找到只是背景峰值Hb,那么在灰度區(qū)間[Hmin,255)找出f(H)的最小值,其對應值即為目標峰值點Hf;
如果(3)中找到的是目標峰值Hf,那么在灰度區(qū)間[0,Hmin]找出f(H)的最小值,其對應值即為背景峰值點Hb;
?。?)以Hmin為閾值,進行圖像分割;
在背景峰值Hb右側(cè)附近找出一個灰度級(一般為Hb+10),進行短路增強;
在目標峰值Hf左側(cè)附近找出一個灰度級(一般為Hf-10)進行開路增強。
注:本算法特別適用于直方圖的連續(xù)的圖像,對于不連續(xù)的直方圖,可以先進行臨近插值,將直方圖轉(zhuǎn)換成連續(xù)圖形,即可采用上述方法來確定閾值。
實驗結(jié)果
當圖像存在噪聲時,通常采取兩種做法:
?。?)先濾波再做二值化處理,這樣原圖像將丟失大量的邊緣細節(jié)信息,使得統(tǒng)計結(jié)果不夠準確;
?。?)不處理,但這樣又會使圖像中存在許多細小的噪聲,同樣統(tǒng)計結(jié)果也不夠準確。
為了保證統(tǒng)計結(jié)果的準確性,既不要由于濾波的影響,而使圖像的某些邊緣丟失,線寬減小,又不可將那些噪聲點誤當成線條而統(tǒng)計進來,可以采用先二值化再去除噪聲的方法。
上一篇:酸性蝕刻的常識介紹
下一篇異方性導電膠膜常識介紹
溫馨提示:
凡在本公司進行電路板克隆業(yè)務的客戶,必須有合法的PCB設(shè)計版權(quán)來源聲明,以保護原創(chuàng)PCB設(shè)計版權(quán)所有者的合法權(quán)益;