halcon在pcb檢測中的應(yīng)用_第1頁
halcon在pcb檢測中的應(yīng)用_第2頁
halcon在pcb檢測中的應(yīng)用_第3頁
halcon在pcb檢測中的應(yīng)用_第4頁
halcon在pcb檢測中的應(yīng)用_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

halcon在pcb檢測中的應(yīng)用

隨著整個社會的工業(yè)化程度的提高,快速發(fā)展的pc行業(yè)對生產(chǎn)效率的要求越來越高。不同形式的pc層出不窮,逐漸發(fā)展為微型化。最具代表性的是由表面活性劑(smt)主導(dǎo)的pc制造行業(yè)。以往的人工離線檢測已經(jīng)完全不能適應(yīng)高效性和高準確率形勢的需要,于是自動光學(xué)檢測就應(yīng)運而生。PCB的自動光學(xué)檢測主要分為4步:圖像采集、圖像處理、特征提取和決策判斷。其中,特征提取和決策決斷2個步驟都涉及PCB的光學(xué)定位點(Mark點)的識別,因此,Mark點識別的快速性和準確性是PCB自動光學(xué)檢測的一個重要環(huán)節(jié)。HALCON是一款功能十分強大的機器視覺軟件,它提供1000多個運算子,包含從低級的圖像讀取到高級的模式識別的各種算法,可以應(yīng)用到機器視覺檢測的整個過程,如圖像顯示、圖像分割、特征提取、模板創(chuàng)建以及圖像匹配等。另外,它還提供了開放的結(jié)構(gòu)形式,利用自有的HDevelop編程工具,可以輕松地實現(xiàn)代碼從HALCON算子到C、C++、C#等程序語言的轉(zhuǎn)化,為檢測軟件的開發(fā)提供了良好的編程環(huán)境。作為目前業(yè)內(nèi)功能最完善、效率最高的軟件之一,已被廣泛應(yīng)用于工業(yè)生產(chǎn)中的各個方面,如陶瓷、食品、機械、醫(yī)療等。本文利用HALCON優(yōu)秀的圖像處理功能,編制出3種Mark點識別的算法,進而對3種算法的效率和應(yīng)用范圍進行了詳細的評價。1帶明顯滑動點的滑板和帶顯示的硫?qū)е聼o法進入pcb系統(tǒng)中Mark點是PCB板在制造過程中用來定位的一種板載標記。就目前的PCB板的設(shè)計工藝來看,Mark點的作用主要有2點:1)在貼片或者光學(xué)檢測過程中,上板時讀取一對角2個Mark點以確定板加載是否偏位及旋轉(zhuǎn);2)貼片精度高時,在所貼IC附近放置Mark點,機器貼該IC前讀取Mark點位置是否有偏位,如有偏位可自行修正。根據(jù)Mark點在PCB上的作用,可分為拼板Mark點、單板Mark點、局部Mark點(也稱器件級Mark點)。本文主要討論單板的一對角2個Mark點的識別,因此以下主要介紹單板Mark點的設(shè)計和尺寸要求,它包括如下幾個方面:(1)Mark點的形狀一般約為直徑1mm的實心圓,材料為銅,表面噴錫,需注意平整度,邊緣光滑,顏色與周圍的背景色有明顯區(qū)別;阻焊開窗與Mark點同心,直徑約為3mm。(2)Mark點中心距板邊不小于5mm。(3)為了保證印刷和貼片的識別效果,Mark點范圍內(nèi)應(yīng)無焊盤、過孔、測試點、走線及絲印標識等,不能被V-CUT槽所切造成機器無法辨識。(4)為了增加Mark點和基板之間的對比度,可以在Mark點下面敷設(shè)銅箔。同一板上的Mark點其內(nèi)層背景要相同,即Mark點下有無銅箔應(yīng)一致。(5)Mark點應(yīng)當作元件來設(shè)計,便于賦予準確的坐標值進行定位。由上述Mark點的作用及設(shè)計特點來看,可以歸納出Mark點的幾個明顯特征:即由銅材料構(gòu)成、直徑約1mm、與周圍背景對比度大、周圍是阻焊開窗并且無元件、不會被其他結(jié)構(gòu)干擾、在板上的位置固定等。2ark點識別技術(shù)鑒于上述Mark點的幾個主要特征,在Mark點的識別過程中,主要會用到基于閾值的圖像分割和基于形狀的圖像匹配技術(shù),下面分別對這兩種圖像處理技術(shù)進行簡要介紹。2.1閾值分割處理圖像分割是通過對原始采集圖像進行某種方式的分割處理,以便于從其結(jié)果中提取到圖像的某些特征(如輪廓、區(qū)域等)的過程。閾值圖像分割是圖像分割技術(shù)中最基本也是最常用的一種方法,它通過對原始圖像的灰度直方圖進行具體的分析,以獲得前景與背景或者不同區(qū)域之間的一個或者幾個灰度閾值,然后將具有每一個閾值兩側(cè)的灰度值的像素分別設(shè)置成相同的顏色,從而達到將圖像進行分割的目的。閾值分割主要有以下幾種方法:基于點的閾值分割、基于區(qū)域的閾值分割、局部閾值分割以及多閾值分割等。閾值分割方法中最簡單的形式就是單閾值圖像分割,設(shè)原始圖像的像素灰度為f(x,y),通過其灰度直方圖信息得到一個灰度閾值t,應(yīng)用公式g(x,y)={b0?f(x,y)<tb1?f(x,y)≥t(1)將得到一個分割后的二值化圖像。若取b0=0(黑),b1=1(白),得到的就是通常所說的黑白二值化圖像。2.2圖像區(qū)域形狀的繪畫當圖像進行分割之后,就要從中提取出各種特征,如灰度特征、文理特征以及形狀特征等,進而才能進行圖像匹配。圖像匹配是通過一定的匹配算法在采集圖像和模板圖像之間識別同名點的過程,其實質(zhì)是在基元相似性的條件下,運用匹配準則的最佳搜索問題。圖像匹配主要可以分為基于灰度的匹配和基于特征的匹配。基于形狀的匹配是特征匹配的一種,是本實驗開發(fā)軟件HALCON中最常用的匹配方法。形狀特征是由組成物體的輪廓線或者物體表面的所有點的相對位置決定的。在圖像處理過程中,圖像區(qū)域形狀的描繪通常是通過對區(qū)域外形或內(nèi)部進行各種變換,從而提取區(qū)域形狀特征的一些數(shù)據(jù)或者符號,通稱描繪子。常用的描繪子分為2類:基于邊界的形狀描繪子和基于區(qū)域的形狀描繪子。其中,基于邊界的形狀描繪子方法主要包括:一般邊界幾何描繪子(如邊界長度、曲率、彎曲勢能等)、鏈碼描繪子、傅里葉變換邊界描繪子、B樣條曲線描繪子、Hough變換邊界描繪子等;基于區(qū)域的形狀描繪子方法主要包括:一般區(qū)域形狀描繪子(如面積、歐拉數(shù)、投影、偏心率、延伸率、方向、密集度等)、矩描繪子、突包描繪子、區(qū)域骨架化、區(qū)域分解描繪、領(lǐng)域描繪等。3基于3種識別算法的建模由于HALCON軟件具有很好的開放式結(jié)構(gòu),故本實驗在WindowsXP環(huán)境下,采用HALCON和VC++6.0聯(lián)合編程的方法進行Mark點識別算法的開發(fā)。一方面能很好地利用HALCON強大的圖像處理功能,另一方面又能保證程序的兼容性、高效性以及界面的友好性。Mark點的識別主要分為2個階段,一個是模板創(chuàng)建階段,一個是模式識別階段。本文主要討論模板創(chuàng)建階段Mark點的3種識別方法:手動區(qū)域選擇法、自動圖像分割法、XLD模板法。模式識別階段的圖像匹配算法與第3種方法中用到的圖像匹配的原理一致,不再單獨列出。3.1調(diào)用權(quán)限的選擇方法手動區(qū)域選擇法的步驟如下。(1)devdis-roge算子先用openframegrabber算子打開圖像采集設(shè)備,如攝像頭等,然后用grabimage算子實時抓取單張含有Mark點的圖像,存到HALCON圖像庫中,再用readimage算子讀入圖片并用devdisplay算子將其顯示出來,如圖1所示。(2)ark點所在區(qū)域的顯示先利用drawcircle算子手動在圖1中尋找出Mark點所在的區(qū)域,然后用gencircle算子將其顯示出來,如圖2所示。最后用reducedomain算子將處理區(qū)域減小為圖2中圈出的區(qū)域,即產(chǎn)生ROI。(3)dynthpshold算子先用meanimage算子將圖像進行平滑處理,消除噪聲,如圖3a所示;然后利用dynthreshold算子對平滑后的圖像進行自動閾值分割,如圖3b所示;最后利用connection算子將間隔不超過8個像素點的區(qū)域連接起來成為同一個區(qū)域,如圖3c所示。(4)檢查點位置提取先用selectshape算子將圖像中區(qū)域面積在500以上的區(qū)域選出,從圖3c中可以看出,此時已經(jīng)可以確定該區(qū)域就是Mark點在圖中顯示的區(qū)域,然后用smallestcircle算子分析計算出該區(qū)域最小外接圓的半徑及圓心位置,最后用gencircle以及devdisplay將其顯示出來,即為所要提取的Mark點準確位置,如圖3d所示。3.2閾值分割處理本方法與第1種方法在圖像采集與顯示、圖像處理以及Mark點的識別3個步驟上基本一致。但是,由于考慮到自動化生產(chǎn)效率較高的因素,故將第1種方法的第2步改進成為自動閾值分割,然后直接產(chǎn)生ROI,這種方法關(guān)鍵是利用Mark點的阻焊開窗比較大、且顏色與PCB背景不同的特點,是運用全局閾值分割原理來完成的。先用threshold算子劃分出灰度值在75以上的區(qū)域,如圖4所示;然后利用openingcircle算子選擇出能容納下半徑為80的圓的區(qū)域,如圖5所示,此時就能選定阻焊開窗這一大的圓形區(qū)域了。后面的算法步驟與第1種方法一致。3.3生成虛擬圖像和生成模板本方法利用HALCON里面專有的一種XLD數(shù)據(jù)結(jié)構(gòu),專門存儲一組虛擬的輪廓數(shù)據(jù),然后用模式識別的方法從讀取的圖片中找出Mark點的位置,其步驟如下。(1)圖像采集、顯示與第1種方法相同。(2)建立虛擬輪廓圖像。先用genellipsecontuorxld產(chǎn)生一個和Mark點區(qū)域大小相當?shù)膱A形,該區(qū)域大小的數(shù)據(jù)可以通過HALCON里實時放大的功能,將圖片放大到400%的狀態(tài)下觀察得到,然后利用genimageconst和paintxld算子產(chǎn)生一個空的虛擬圖像,如圖6a所示。(3)產(chǎn)生虛擬模板。先用inspectshapemodel算子對要建立模板的虛擬圖像進行預(yù)處理,然后利用createshapemodel算子創(chuàng)建模板,最后利用getshapemodelcontours算子來實現(xiàn)對該圖像中的圓形進行模板輪廓提取,如圖6b所示。(4)圖像匹配。先利用findshapemodel算子在圖1中進行模板搜索,然后利用vectorangletorigid算子進行剛性的仿射變換建立一個原圖與模板之間的變換矩陣HomMat2D,最后利用affinetranscontourxld算子進行輪廓的仿射變換,達到實際圖像與虛擬模板匹配的目的。43幾種方法的比較(1)從程序執(zhí)行時間的角度來看,3種方法在讀取圖像步驟上基本一致,但是從第2步開始就有了明顯的區(qū)別。第1種方法雖然能通過手動選擇ROI來減少電腦閾值分割和區(qū)域選擇所用的時間,但是這種算法的弊端就在于需要人工干預(yù),對于要求高效率的自動化生產(chǎn)線來說,并不是一個好的選擇。第2種方法與第1種方法不同之處在于將閾值分割擴大到了整張圖,雖然在閾值分割以及區(qū)域選擇上多花0.1s左右的時間,但是去掉了人工畫圓的步驟,很好地實現(xiàn)了完全自動識別的功能,第2種方法的執(zhí)行時間為0.5s。對于第3種方法來說,雖然步驟比第1種方法和第2種方法都多,但是執(zhí)行時間和第2種方法完全相同。另外,第3種方法的自動化程度也比第1種方法要好,無須人工干預(yù)。(2)從各自的應(yīng)用范圍來看,第1種方法主要應(yīng)用在PCB上有元器件的外形與Mark點相似的情況中,此時Mark點難以通過全局閾值分割而得到,因此可以借助于手動,劃分出小的ROI區(qū)域來識別出Mark點。第2種方法則適合大批量生產(chǎn),只要各批次的PCB板的Mark點制造材料及其阻焊窗相同,就可以用此方法完成。同樣,第3種方法的范圍也和第2種方法

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論