日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pcb成型板aoi检测_缺陷检测 | PCB AOI质量检测之自动定位核选取算法

發(fā)布時間:2025/3/20 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pcb成型板aoi检测_缺陷检测 | PCB AOI质量检测之自动定位核选取算法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

PCB產(chǎn)品AOI檢測,需要將模版與實際圖像對齊,因此需要定位功能。定位功能就需要選取定位核,定位核的提取方法分為手動和自動。基于人眼視覺特征對區(qū)域敏感度判斷的手動提取法存在很大的局限性,且當(dāng)需要較多定位核時建模復(fù)雜,因此目前廣泛應(yīng)用的是自動提取法。PCB由于高精度成像和高標準檢測需求,決定了一個料號可能需要幾百甚至上千個定位核,所以需要實現(xiàn)自動選取定位核的功能;檢測時料號是未知的,且切換比較頻繁,所以無法離線選取定位核,因此算法要求滿足實時性。

1 功能說明

自動定位核選取模塊主要功能如下:1)支持多個相互獨立的全功能型定位核選取

圖1 全功能型定位核演示2)支持組合定位核的選取

圖2 組合型定位核演示3)支持單向(任意方向)定位核的選取

圖 3 單向定位核演示4)增加局部唯一性驗證,支持兩種不同的定位模式,NCC和Shape

2 算法設(shè)計

根據(jù)常見的定位算法的原理可知,選取定位核應(yīng)選擇:1)梯度信息豐富的地方,并且該梯度信息在水平和垂直方向都有分量;2)在一定范圍內(nèi)滿足唯一性。

?

圖 4 彩色圖及對應(yīng)的梯度圖PCB產(chǎn)品的模板圖像一般由Gerber或ODB++文件解碼生成,因此自動選定位核的輸入圖像一般為二值圖,圖案由直線和弧形組成,其所對應(yīng)梯度信息如下圖所示:? ? ?

?? ? ??

圖5 PCB二值圖及對應(yīng)的梯度圖可見,適合選取定位核的位置如下圖所示:

圖6 可選為定位核的位置

2.1設(shè)計概要

在定位核的選取過程中,遵循的原則如下:

優(yōu)先選擇滿足條件的全功能型定位核;

若無全功能型定位核,則篩選出滿足條件的組合定位核;

若無組合定位核,則篩選出單向定位核。

2.2 算法流程

2.2.1 圖像降采樣

圖像降采樣,即采樣點數(shù)減少。對于一幅N*M的圖像來說,如果降采樣系數(shù)為k,則即是在原圖中每行每列每隔k個點取一個點組成一幅圖像。采取降采樣的目的是為了降低處理時間。

2.2.2 提取亞像素輪廓XLD

降采樣后的圖像亞像素輪廓圖XLD代表亞像素精度的邊緣輪廓和多邊形,并不是沿著像素與像素交界的地方,而是經(jīng)過插值之后的位置。

2.2.3 獲得備選定位核

全功能型定位核?

單方向定位核?實現(xiàn)流程:

將亞像素輪廓XLD轉(zhuǎn)為多邊形輪廓XLD(Ramer算法);

亞像素輪廓XLD多邊形輪廓XLD

遍歷多邊形輪廓XLD,依次獲取多邊形輪廓對應(yīng)的N個離散點、N-1個角度,并計算當(dāng)前離散點即拐點對應(yīng)的夾角Angle。這些離散點就是各個疑似定位核的中心點;

離散點即拐點圖示

通過拐點夾角Angle計算各自的正交值Orthogonality,超過設(shè)定的分值加入待選的全功能型定位核中,否則加入到單向定位核中,其中:

Orthogonality = abs(Angle-ORTHANGLE)/ ORTHANGLE。其中:ORTHANGLE = PI/2;

2.2.4 全功能型定位核選取

實現(xiàn)流程:

按照正交分值從大到小排序;

依次驗證唯一性(在一定范圍內(nèi)進行模板匹配,判斷找到的數(shù)目是否為1),找到要求的數(shù)目即返回;

2.2.5 組合型定位核選取

若沒有找到符合條件的全功能型定位核,或找到的數(shù)目不夠,則選取滿足條件的組合型定位核。實現(xiàn)流程:

對剩余的定位核進行排序(全功能型定位核按照正交值從大到小排序,單向定位核按照水平、垂直、任意方向的類別依次排序);

找到所有符合組合型定位核條件的定位核組(兩個),滿足以下條件之一即可:

1 定位核組中至少有一個全功能型定位核;2 若均是單向定位核,則根據(jù)兩者的方向角度差計算正交分值,大于等于設(shè)定的正交值。

依次驗證唯一性(在一定范圍內(nèi)進行模板匹配,判斷找到的數(shù)目是否為1),找到要求的數(shù)目即返回;

單向定位核判斷是否滿足組合條件的流程如下:Step1:單向定位核按照水平、垂直、任意方向的類別依次排序,類別相同則按照歸一化后的角度從小到大排序;Step2:去除相鄰角度相同的定位核(僅保留一個),得到不同方向的定位核組;Step3:遍歷定位核組,兩兩計算對應(yīng)的夾角,篩選出滿足正交分值的定位核組對(兩個);Step4:按照每組對的正交分值進行排序;Step5:遍歷所有的組對,每組找到對應(yīng)的所有的單向定位核,依次計算定位核的距離是否滿足最小值,若滿足直接返回,否則找到為止。

2.2.6 單向定位核選取

實現(xiàn)流程:單向定位核按照水平、垂直、任意方向的類別依次排序,返回第一個。

3 模塊輸出

可將模塊封裝成獨立的dll,接口函數(shù)如下:

類型

函數(shù)名

功能說明

參數(shù)設(shè)置

SetSampleStep

設(shè)置抽樣步長

SetOffset

設(shè)置搜索范圍

SetLocationRotate

設(shè)置旋轉(zhuǎn)相關(guān)參數(shù)(驗證定位核局部唯一性)

SetKernelNum

設(shè)置找到定位核的最大數(shù)目

SetLocationSize

設(shè)置定位核的尺寸

SetMinScore

設(shè)置找到定位核的最小分數(shù)

運行

Execute

執(zhí)行定位核的搜索

結(jié)果

GetMainKer

獲得找到的定位核相關(guān)信息

參數(shù)界面如下所示:

本文僅做學(xué)術(shù)分享,如有侵權(quán),請聯(lián)系刪文。

總結(jié)

以上是生活随笔為你收集整理的pcb成型板aoi检测_缺陷检测 | PCB AOI质量检测之自动定位核选取算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。