在工業(yè)領(lǐng)域,想必有很多朋友們對(duì)毛刺一定不陌生,尤其是機(jī)械加工過(guò)程中,它是無(wú)處不在的,不論你采用多么高級(jí)的精密的設(shè)備,它都會(huì)伴隨產(chǎn)品一起誕生。
機(jī)械零件上的毛刺, 有些是由于切削加工過(guò)程中塑性變形引起的;有些是鑄造、模鍛等加工的飛邊, 還有些是焊接擠出的殘料。毛刺的存在對(duì)零件的加工精度、裝配精度、再加工定位和外觀質(zhì)量等許多方面都會(huì)產(chǎn)生不良影響。
這個(gè)時(shí)候就會(huì)有廣大群眾惆悵到:腫么辦???這毛刺到底腫么辦??
今天,小編就為大家分享如何運(yùn)用SGVision去毛刺的方法。
既然要去毛刺那必然是用到咱們SGVision軟件當(dāng)中毛刺檢測(cè)這一算法了,針對(duì)毛刺呢軟件提供了四種不用的檢測(cè)工具,分別是毛刺檢測(cè)、毛刺對(duì)比、圓孔毛刺、直線毛刺。不同的檢測(cè)算法相應(yīng)的檢測(cè)功能與適用性也有所不同,那接下來(lái)就一一來(lái)學(xué)習(xí)一下這四種毛刺檢測(cè)的運(yùn)用吧!
毛刺檢測(cè) :本算法用于在劃定的檢測(cè)區(qū)域內(nèi)檢測(cè)出毛刺并測(cè)量出毛刺面積大小,從而判斷產(chǎn)品的OK/NG。
?參數(shù)學(xué)習(xí)
【灰度低閾值】:設(shè)置值應(yīng)≤目標(biāo)區(qū)域灰度值,界定毛刺灰度范圍的最小值;
【灰度高閾值】:設(shè)置值應(yīng)≥目標(biāo)區(qū)域灰度值,界定毛刺灰度范圍的最大值;
【領(lǐng)域尺寸】:用來(lái)界定凸起或者凹陷是否為毛刺的參數(shù),小于此值則是毛刺;
【面積閾值】:預(yù)設(shè)最小毛刺的下限面積,超過(guò)該值則為毛刺;
毛刺檢測(cè)算法實(shí)際應(yīng)用場(chǎng)景:檢測(cè)產(chǎn)品是否存在飛邊、毛刺(如手機(jī)外殼等);
我們先打開(kāi)SGVision軟件,按【F4】快捷鍵進(jìn)入算法頁(yè)面,【導(dǎo)入需要檢測(cè)的圖片】—【選擇檢測(cè)欄目】—【選中毛刺檢測(cè)】。
我們可以看一下它的參數(shù),設(shè)定一個(gè)灰度范圍,用來(lái)表示目標(biāo)灰度是什么。同時(shí)可以選擇說(shuō)檢測(cè)凸起或者檢測(cè)凹陷。領(lǐng)域尺寸呢就是限定說(shuō)我在多少范圍內(nèi)檢測(cè)凸起、凹陷。
毛刺檢測(cè)的算法工具呢使用范圍比較有限,因?yàn)樗鼪](méi)有辦法設(shè)置太多的東西。
先來(lái)檢測(cè)一下這張圖片
可以看到把上面的毛刺都檢測(cè)出來(lái)了
但是沒(méi)有基準(zhǔn)之類(lèi)的鮮艷信息
假設(shè)我們把檢測(cè)凹陷勾選起來(lái),
檢測(cè)凸起去掉的話,
來(lái)看看是什么結(jié)果
可以看到它就幫我們找到了內(nèi)凹的缺陷,但是我們發(fā)現(xiàn)檢測(cè)結(jié)果出現(xiàn)了差異,把背景位置的地方也檢測(cè)出來(lái)了,實(shí)際上不屬于凹陷。所以說(shuō)毛刺檢測(cè)工具整體的功能只限于說(shuō)它自己會(huì)判斷圖片當(dāng)中有一些邊角的地方NG的區(qū)域,它就是適用于比較小的比較平整的物體。
毛刺對(duì)比:本算法用于比對(duì)輪廓尋找毛刺。
?參數(shù)學(xué)習(xí)
【邊緣低閾值】:根據(jù)邊緣灰度值設(shè)置,設(shè)置值<=邊緣灰度值;
【邊緣高閾值】:根據(jù)邊緣灰度值設(shè)置,設(shè)置值>=邊緣灰度值;
【寬度閾值】:毛刺在水平方向像素點(diǎn)個(gè)數(shù);
【高度閾值】:毛刺在豎直方向像素點(diǎn)個(gè)數(shù);
【使用直線距離】:毛刺寬度和高度在計(jì)算判斷的時(shí)候,是指毛刺根部到最外面端點(diǎn)的最小直線距離(點(diǎn)到點(diǎn)之間的直線距離),與最外面的端點(diǎn)有關(guān),與毛刺的彎曲程度無(wú)關(guān);
【使用連通域距離】:毛刺寬度和高度在計(jì)算判斷的時(shí)候,是指毛刺從根部到最外面端點(diǎn)的彎曲距離(點(diǎn)到點(diǎn)之間的曲線長(zhǎng)度),與最外面的端點(diǎn)有關(guān),與毛刺的彎曲程度有關(guān);
毛刺對(duì)比算法實(shí)際應(yīng)用場(chǎng)景 :檢測(cè)物體有無(wú)毛刺(如金屬端子鍍層檢測(cè));
比如說(shuō)我們要檢測(cè)比較大的物體的話
如圖檢測(cè)這個(gè)圓
▲合格品 ▲不良品
這種情況我們就可以使用【毛刺對(duì)比】工具了!
首先,先添加這張OK的圓來(lái)打開(kāi)【毛刺對(duì)比】的工具。打開(kāi)之后能看到【毛刺對(duì)比】有很多的輔助選項(xiàng),比如說(shuō)它可以設(shè)置【忽略區(qū)域】,還有一個(gè)模板的概念,我們先把這張?zhí)砑訛槟0鍒D,顧名思義判斷它的毛刺就是跟模板來(lái)對(duì)比,它的好處就是能適應(yīng)各種奇形怪狀的物體!如果說(shuō)用剛才的毛刺檢測(cè)工具隨便怎么檢可能永遠(yuǎn)都是各種各樣NG報(bào)警出來(lái)。
可以通過(guò)毛刺對(duì)比的方式添加一個(gè)【基準(zhǔn)圖】,再去判斷兩者之間的差異,這種情況下就不會(huì)說(shuō)因?yàn)槲矬w本身形狀造成誤檢,
那我們現(xiàn)在導(dǎo)入這張NG圖,這張NG圖不僅是有毛刺缺陷而且有一定的位置偏移,那我們就來(lái)看看毛刺對(duì)比算法能不能把他檢測(cè)出來(lái)!
點(diǎn)擊測(cè)試之后果然NG了,還畫(huà)出了兩個(gè)圓,左邊的這個(gè)圓其實(shí)就是模板輪廓所在的位置,右邊的這個(gè)圓就是實(shí)際要檢測(cè)他的輪廓的位置,可以看懂到他把這兩個(gè)輪廓框出來(lái)了。所以這個(gè)算法的原理其實(shí)就是對(duì)比兩個(gè)輪廓之間有沒(méi)有存在什么差異,高度范圍與寬度范圍就是為了限制差異的多少我要當(dāng)做是OK/NG的。
除此之外這個(gè)圓還有位置偏移的問(wèn)題,那這里就要穿插我們之前學(xué)習(xí)到的【模板匹配】了,結(jié)合模板匹配之后呢就會(huì)得到一個(gè)更吻合的效果了!
先打開(kāi)算法工具,選擇【模板匹配】,把OK的這張良品圖設(shè)置為模板圖,然后測(cè)試一下找到了,接著在毛刺對(duì)比算法當(dāng)中匹配源就選擇這個(gè)模板匹配。
這個(gè)時(shí)候再測(cè)試一下也找到了
我們切回NG圖那我們?cè)冱c(diǎn)開(kāi)這個(gè)毛刺對(duì)比,匹配源依舊選擇模板匹配,測(cè)試一下發(fā)現(xiàn)找到了新的位置,可以看到這個(gè)模板匹配位置有發(fā)生偏移了,是這個(gè)位置的經(jīng)過(guò)我們糾偏之后就把他找到了.
圓孔毛刺、直線毛刺 :本算法用于比對(duì)輪廓檢測(cè)毛刺,設(shè)置毛刺檢測(cè)的合格范圍,從而判斷產(chǎn)品的 OK/NG。
?參數(shù)學(xué)習(xí)
【灰度低閾值】:設(shè)置值應(yīng)<=目標(biāo)毛刺灰度值;
【灰度高閾值】:設(shè)置值應(yīng)>=目標(biāo)毛刺灰度值;
【使用圓形】:如果檢測(cè)輪廓比較接近圓形,點(diǎn)選此命令;
【使用橢圓】:如果檢測(cè)輪廓比較接近橢圓,點(diǎn)選此命令;
【寬度閾值】:代表檢測(cè)毛刺的寬度參考值大小;
【高度閾值】:代表檢測(cè)毛刺的高度參考值大小;
【使用直線距離】:毛刺寬度和高度在計(jì)算判斷的時(shí)候,是指毛刺根部到最外面端點(diǎn)的最小直線距離(點(diǎn)到點(diǎn)之間的直線距離),與最外面的端點(diǎn)有關(guān),與毛刺的彎曲程度無(wú)關(guān);
【使用連通域距離】:毛刺寬度和高度在計(jì)算判斷的時(shí)候,是指毛刺從根部到最外面端點(diǎn)的彎曲距離(點(diǎn)到點(diǎn)之間的曲線長(zhǎng)度),與最外面的端點(diǎn)有關(guān),與毛刺的彎曲程度有關(guān);
圓孔毛刺算法實(shí)際應(yīng)用場(chǎng)景: 檢測(cè)產(chǎn)品加工后為圓形或者橢圓形的表面毛刺(如手機(jī)攝像頭孔的毛刺檢測(cè));
【圓孔毛刺】跟【直線毛刺】其實(shí)都是建立在毛刺對(duì)比的基礎(chǔ)上,但是又不需要設(shè)置模板。
我們先來(lái)看一下【圓孔毛刺】,旁邊合格標(biāo)準(zhǔn)的參數(shù)跟毛刺對(duì)比是一模一樣的,只是多了一個(gè)使用圓形還是使用橢圓,他會(huì)把這個(gè)目標(biāo)擬合一個(gè)圓,假設(shè)我們物體是一個(gè)圓的前提下或者說(shuō)橢圓的前提下,把找到的物體嘗試去擬合一個(gè)圓或者橢圓,拿這個(gè)實(shí)際的物體跟圓做對(duì)比。
原理就是把找到的輪廓去擬合圓或者橢圓,然后把圓或者橢圓作為模板基準(zhǔn)的形狀,來(lái)跟現(xiàn)在實(shí)際找到的這個(gè)輪廓做一個(gè)毛刺對(duì)比。
只要他是圓或者橢圓的話,我們就可以用這個(gè)圓孔毛刺,這對(duì)于我們很多弓箭的話,比如說(shuō)我們想要測(cè)量物體的內(nèi)孔毛刺啊,是可以直接采用這個(gè)圓孔毛刺的。
那顧名思義【直線毛刺】也是一樣的道理,就是在檢測(cè)區(qū)域內(nèi)找一個(gè)輪廓,參數(shù)都是一樣的,他會(huì)找一條直線,然后去判斷實(shí)際檢測(cè)到的這條有沒(méi)有坑坑洼洼。
可以看到只要在我們這個(gè)檢測(cè)內(nèi)他自動(dòng)的找到了這條直線,也無(wú)所謂方向什么的,通過(guò)比對(duì)就找出了這些坑坑洼洼的地方。
審核編輯:湯梓紅
評(píng)論