一種檢測(cè)瓶蓋外圓毛刺的方法
【專(zhuān)利摘要】本發(fā)明屬于數(shù)字圖像處理,涉及一種檢測(cè)瓶蓋外圓毛刺的方法,包括:開(kāi)發(fā)一個(gè)圓定位工具,該工具為一個(gè)在屏幕上顯示的工具,由一個(gè)圓、在圓周上等分布的若干箭頭組成;在進(jìn)行自動(dòng)檢測(cè)之前,先采集一幅瓶蓋圖像,并在屏幕上顯示該圖像;利用圓定位工具,對(duì)瓶蓋圖像進(jìn)行定位,初步確定瓶蓋大??;計(jì)算出圓定位工具中所有箭頭所在位置的像素坐標(biāo);在進(jìn)行自動(dòng)檢測(cè)時(shí),利用該工具,提取待檢測(cè)的瓶蓋的圖像,得到二值圖;得到待檢測(cè)的瓶蓋的圖像的圓心坐標(biāo)和半徑;找出待檢測(cè)的瓶蓋的外圓輪廓上所有輪廓點(diǎn);判斷待檢測(cè)的密封圈是否存在毛刺。本發(fā)明利用一個(gè)屏幕工具,快速準(zhǔn)確地檢測(cè)出瓶蓋是否存在毛刺缺陷。
【專(zhuān)利說(shuō)明】 一種檢測(cè)瓶蓋外圓毛刺的方法
所屬【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明屬于數(shù)字圖像處理【技術(shù)領(lǐng)域】,涉及一種瓶蓋檢測(cè)方法。
【背景技術(shù)】
[0002]瓶蓋在注塑過(guò)程中,由于注塑機(jī)注塑不良,瓶蓋外圓會(huì)出現(xiàn)毛刺,為了配合生產(chǎn)線的自動(dòng)檢測(cè)和剔除不良品,需要采用能快速準(zhǔn)確地檢測(cè)出毛刺的方法。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的是提出一種可以在線快速準(zhǔn)確地檢測(cè)出瓶蓋毛刺的方法。本發(fā)明給出的方法,可以快速準(zhǔn)確地檢測(cè)出毛刺輪廓為4mm的微小毛刺。本發(fā)明的技術(shù)方案如下:
[0004]一種檢測(cè)瓶蓋外圓毛刺的方法,包括下列步驟:
[0005](I)開(kāi)發(fā)一個(gè)圓定位工具,該工具為一個(gè)在屏幕上顯示的工具,由一個(gè)圓、在圓周上等分布的若干箭頭組成,該工具的圓的位置能夠在鼠標(biāo)的拖動(dòng)下改變,在靠近圓周的某個(gè)位置設(shè)置一個(gè)用于在鼠標(biāo)的拖動(dòng)下能夠改變圓的大小的圖標(biāo);在圓上等分布的箭頭的長(zhǎng)度和個(gè)數(shù)可以改變,長(zhǎng)度越長(zhǎng),所能檢測(cè)的瓶蓋圖像的位置偏差范圍越大,個(gè)數(shù)越多,檢測(cè)精度越高;箭頭的方向也可以通過(guò)選擇來(lái)決定是從圓內(nèi)指向圓外還是從圓外指向圓內(nèi);
[0006](2)在進(jìn)行自動(dòng)檢測(cè)之前,先采集一幅瓶蓋圖像,并在屏幕上顯示該圖像;
[0007](3)利用鼠標(biāo)拖動(dòng)圓定位工具,使其移動(dòng)到瓶蓋圖像中的瓶蓋位置,改變圓的大小到適合自動(dòng)檢測(cè)的位置,并確定箭頭的方向,保存確定好的圓定位工具的圓心位置、半徑大小、箭頭個(gè)數(shù)、箭頭長(zhǎng)度和箭頭方向5個(gè)參數(shù);
[0008](4)計(jì)算出圓定位工具中所有箭頭所在位置的像素坐標(biāo);
[0009](5)在進(jìn)行自動(dòng)檢測(cè)時(shí),在同樣的拍攝條件下提取待檢測(cè)的瓶蓋的圖像,求取其二值圖:對(duì)待檢測(cè)的瓶蓋圖像進(jìn)行迭代法閾值分割,得到二值圖;
[0010](6)根據(jù)已經(jīng)確定的圓定位工具的圓心位置,半徑大小、箭頭個(gè)數(shù)、箭頭長(zhǎng)度和箭頭方向5個(gè)參數(shù),對(duì)待檢測(cè)的瓶蓋圖像的二值圖進(jìn)行外圓輪廓的搜索,得到外圓輪廓上的若干輪廓點(diǎn),將這些輪廓點(diǎn)利用霍夫變換進(jìn)行擬合,得到待檢測(cè)的瓶蓋的圖像的圓心坐標(biāo)和半徑;
[0011](7)對(duì)二值圖像進(jìn)行8鄰域輪廓跟蹤,找出待檢測(cè)的瓶蓋的外圓輪廓上所有輪廓
占.[0012](8)將待檢測(cè)的瓶蓋的外圓輪廓上相隔一定像素的兩點(diǎn)的連線近似認(rèn)為是圓的切線,兩點(diǎn)連線的中點(diǎn)近似認(rèn)為是切點(diǎn),求外圓切線與過(guò)切點(diǎn)的半徑的夾角,若求得的夾角大概在0° -75。之間,則認(rèn)為存在毛刺。
[0013]作為優(yōu)選實(shí)施方式,步驟(6)的方法如下:如果圓定位工具的箭頭方向是從圓內(nèi)指向圓外,從箭頭始端沿箭頭方向進(jìn)行搜索時(shí),判斷當(dāng)前像素值減去上一個(gè)像素為0,并且當(dāng)前像素減去下一個(gè)像素為255時(shí),記錄該像素點(diǎn)的位置,認(rèn)為該像素點(diǎn)時(shí)瓶蓋外圓輪廓上的點(diǎn),繼續(xù)搜索下一個(gè)箭頭所在位置的外圓輪廓上的點(diǎn);如果圓定位工具的箭頭方向是從圓外內(nèi)指向圓內(nèi),從箭頭始端沿箭頭方向進(jìn)行搜索時(shí),判斷當(dāng)前像素值減去上一個(gè)像素為-255,并且當(dāng)前像素減去下一個(gè)像素為O時(shí),記錄該像素點(diǎn)的位置,認(rèn)為該像素點(diǎn)時(shí)瓶蓋外圓輪廓上的點(diǎn),繼續(xù)搜索下一個(gè)箭頭所在位置的外圓輪廓上的點(diǎn);在得到瓶蓋外圓輪廓上所有箭頭所在區(qū)域的輪廓點(diǎn)后,利用霍夫變換擬合出一個(gè)標(biāo)準(zhǔn)圓,得到瓶蓋的圓心坐標(biāo)和半徑。
[0014]步驟(7)的方法如下:已知瓶蓋圓心坐標(biāo)和半徑,從圓心出發(fā)向待檢測(cè)的瓶蓋圖像的某個(gè)方向進(jìn)行搜索,當(dāng)前像素點(diǎn)與下一個(gè)像素點(diǎn)的灰度差值為255時(shí),認(rèn)為當(dāng)前像素點(diǎn)為可能為輪廓上的點(diǎn),再判斷當(dāng)前像素點(diǎn)到圓心的距離是否和半徑相當(dāng),如果相差較小,在設(shè)定的閾值范圍內(nèi),則認(rèn)為是外圓輪廓上的點(diǎn),否則,繼續(xù)沿著該方向向外按照同樣的方法繼續(xù)搜索,直到找到外圓輪廓上的點(diǎn)為止,以該點(diǎn)作為輪廓跟蹤的起始點(diǎn),輪廓跟蹤時(shí),記錄跟蹤到的像素點(diǎn)坐標(biāo)。
[0015]本發(fā)明的有益效果如下:利用本發(fā)明提供的圓定位工具確定瓶蓋的圓心和半徑,檢測(cè)時(shí)間不超過(guò)2ms。該算法能快速準(zhǔn)確地檢測(cè)出瓶蓋外圓是否存在毛刺,能檢測(cè)到毛刺輪廓4mm的微小輪廓,檢測(cè)時(shí)間不超過(guò)0.3ms ο
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0016]圖1圓定位工具示意圖。
[0017]圖2待檢測(cè)瓶蓋圖像。
[0018]圖3圓定位工具定位瓶蓋位置。
[0019]圖4 二值后的瓶蓋圖像。
[0020]圖5 Ca)是將鼠標(biāo)移動(dòng)到圓定位工具的圓周附近時(shí)光標(biāo)變成的形狀;
[0021]圖5 (b)是鼠標(biāo)移動(dòng)到圓定位工具的圓周右側(cè)的小正方形附近時(shí)變成的形狀。
[0022]圖6檢測(cè)結(jié)果圖。
【具體實(shí)施方式】
[0023]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明。
[0024]( I)開(kāi)發(fā)一個(gè)圓定位工具,如圖1所不。該工具由一個(gè)圓、在圓周上等分布的若干箭頭組成,該工具的圓的位置和大小可以任意改變;在圓上等分布的箭頭的長(zhǎng)度和個(gè)數(shù)也可以改變(長(zhǎng)度范圍在20-50個(gè)像素之間,個(gè)數(shù)范圍在4-360之間);箭頭的方向也可以通過(guò)選擇來(lái)決定是從圓內(nèi)指向圓外還是從圓外指向圓內(nèi)。
[0025](2)將待檢測(cè)圖像,如圖2所示,進(jìn)行迭代法閾值分割,得到圖4所示的二值圖;在光源較亮情況下,瓶蓋區(qū)域灰度值為255,背景區(qū)域灰度值為O ;在光源較暗情況下,背景區(qū)域灰度值仍然全為O,但瓶蓋區(qū)域的灰度值可能不全為255,在瓶蓋外圓和密封圈中間的區(qū)域的灰度值可能為O。圖2為在光源較亮情況下拍攝,二值化之后,瓶蓋區(qū)域灰度值為255,背景區(qū)域灰度值為O ;
[0026](3)將圓定位工具位置和大小設(shè)置成如圖3所示的位置和大小。將鼠標(biāo)移動(dòng)到圓定位工具的圓周附近,此時(shí),光標(biāo)變成如圖5(a)的形狀,按下鼠標(biāo)左鍵向左拖動(dòng)移動(dòng)圓定位工具的位置到圖3所示位置,這時(shí),圓、在圓上的等分布的矩形和箭頭的位置也同時(shí)改變;將鼠標(biāo)移動(dòng)到圓定位工具的圓周右側(cè)的小正方形(這個(gè)小正方形的圖標(biāo)為在鼠標(biāo)的拖動(dòng)下可以改變圓半徑的圖標(biāo))附近時(shí),此時(shí),光標(biāo)變成如圖5 (b)的形狀,按下鼠標(biāo)左鍵向左拖動(dòng)改變圓定位工具的大小(不會(huì)改變?cè)趫A上的若干矩形和箭頭的大小),如圖3所示;
[0027]由于圓定位工具的位置和大小是在檢測(cè)之前由人工進(jìn)行調(diào)節(jié)的,設(shè)置完成之后,在檢測(cè)中將不能再改變。所以設(shè)置圓定位工具的位置時(shí)要考慮到瓶蓋在圖像中的位置偏差問(wèn)題(瓶蓋每次在圖像中的位置可能不同,偏差范圍在40個(gè)像素以?xún)?nèi)),否則,可能找不到瓶蓋外輪廓上的輪廓點(diǎn)。將箭頭長(zhǎng)度設(shè)置的大一些,可以避免上述問(wèn)題,但是箭頭長(zhǎng)度設(shè)置的越大,檢測(cè)時(shí)間就會(huì)越長(zhǎng),這里箭頭的長(zhǎng)度設(shè)置為40個(gè)像素。對(duì)于圖4所示的二值化后的圖像來(lái)說(shuō),箭頭方向選擇由圓外指向圓內(nèi)還是由內(nèi)向外得到的結(jié)果都是一樣的,一般當(dāng)背景中不存在噪點(diǎn)時(shí),選擇由圓外指向圓內(nèi);當(dāng)目標(biāo)中不存在噪點(diǎn)時(shí),選擇由圓內(nèi)指向圓外;在圓上的矩形和箭頭的個(gè)數(shù)越多,檢測(cè)結(jié)果越精確,檢測(cè)時(shí)間也越長(zhǎng),這里設(shè)置為63個(gè)。完成設(shè)置后,將圓定位工具的圓心位置,半徑大小、箭頭個(gè)數(shù)、箭頭長(zhǎng)度和箭頭方向等5個(gè)變量保存。
[0028](4)取出步驟(3)中保存的5個(gè)變量,通過(guò)這5個(gè)變量計(jì)算出圓定位工具中所有箭頭所在位置的像素坐標(biāo)。在本實(shí)施例中在二值圖像中從箭頭始端沿箭頭方向進(jìn)行搜索,判斷當(dāng)前像素值減去上一個(gè)像素為-255,并且當(dāng)前像素減去下一個(gè)像素為0時(shí),記錄該像素點(diǎn)的位置,認(rèn)為該像素點(diǎn)時(shí)瓶蓋外圓輪廓上的點(diǎn)。繼續(xù)搜索下一個(gè)箭頭所在位置的外圓輪廓上的點(diǎn)。得到瓶蓋外圓輪廓上所有箭頭所在區(qū)域的輪廓點(diǎn)后,利用霍夫變換擬合出一個(gè)標(biāo)準(zhǔn)圓,得到瓶蓋的圓心坐標(biāo)和半徑,如圖6所示,圖中,小十字所在位置為圓定位工具搜索得到的瓶蓋外圓輪廓上的輪廓點(diǎn);瓶蓋中心的小正方形為霍夫變換得到的圓心位置,標(biāo)準(zhǔn)圓為霍夫變換擬合得到的圓。
[0029](5)得到瓶蓋的圓心坐標(biāo)和半徑后,從圓心出發(fā)向圖像上方進(jìn)行搜索,在本實(shí)施例中,當(dāng)前像素點(diǎn)與下一個(gè)像素點(diǎn)的灰度差值為255時(shí),認(rèn)為當(dāng)前點(diǎn)為瓶蓋最上方的輪廓點(diǎn)。以該點(diǎn)作為輪廓跟蹤的起始點(diǎn),進(jìn)行8鄰域輪廓跟蹤并記錄跟蹤到的像素點(diǎn)坐標(biāo)。輪廓跟蹤結(jié)果如圖6所示。圖6中,包絡(luò)瓶蓋外輪廓的曲線為輪廓跟蹤得到的所有輪廓點(diǎn)。
[0030](6)將輪廓上相隔一定像素的兩點(diǎn)的連線近似認(rèn)為是圓的切線,兩點(diǎn)連線的中點(diǎn)近似認(rèn)為是切點(diǎn)。根據(jù)切線的性質(zhì)定理:圓的切線垂直于過(guò)切點(diǎn)的半徑,如果輪廓跟蹤得到的外圓輪廓是平滑不存在毛刺的,那么求得的夾角大概在75° -90°之間,外圓輪廓越接近標(biāo)準(zhǔn)圓,所求得的夾角越靠近90° ;如果存在毛刺,求得的夾角大概在0° -75。之間,毛刺越小求得的夾角越大。本實(shí)施例中,取出輪廓跟蹤時(shí)記錄的像素點(diǎn),將輪廓上相隔10個(gè)像素的兩點(diǎn)的連線近似認(rèn)為是圓的切線,求輪廓上所有的外圓切線與過(guò)切點(diǎn)的半徑的夾角,最后求出最小夾角為0.93°。0.93°遠(yuǎn)小于90°,可見(jiàn)該瓶蓋外圓輪廓存在毛刺。
【權(quán)利要求】
1.一種檢測(cè)瓶蓋外圓毛刺的方法,包括下列步驟: (1)開(kāi)發(fā)一個(gè)圓定位工具,該工具為一個(gè)在屏幕上顯示的工具,由一個(gè)圓、在圓周上等分布的若干箭頭組成,該工具的圓的位置能夠在鼠標(biāo)的拖動(dòng)下改變,在靠近圓周的某個(gè)位置設(shè)置一個(gè)用于在鼠標(biāo)的拖動(dòng)下能夠改變圓的大小的圖標(biāo);在圓上等分布的箭頭的長(zhǎng)度和個(gè)數(shù)可以改變,長(zhǎng)度越長(zhǎng),所能檢測(cè)的瓶蓋圖像的位置偏差范圍越大,個(gè)數(shù)越多,檢測(cè)精度越高;箭頭的方向也可以通過(guò)選擇來(lái)決定是從圓內(nèi)指向圓外還是從圓外指向圓內(nèi); (2)在進(jìn)行自動(dòng)檢測(cè)之前,先采集一幅瓶蓋圖像,并在屏幕上顯示該圖像; (3)利用鼠標(biāo)拖動(dòng)圓定位工具,使其移動(dòng)到瓶蓋圖像中的瓶蓋位置,改變圓的大小到適合自動(dòng)檢測(cè)的位置,并確定箭頭的方向,保存確定好的圓定位工具的圓心位置、半徑大小、箭頭個(gè)數(shù)、箭頭長(zhǎng)度和箭頭方向5個(gè)參數(shù); (4)計(jì)算出圓定位工具中所有箭頭所在位置的像素坐標(biāo); (5)在進(jìn)行自動(dòng)檢測(cè)時(shí),在同樣的拍攝條件下提取待檢測(cè)的瓶蓋的圖像,求取其二值圖:對(duì)待檢測(cè)的瓶蓋圖像進(jìn)行迭代法閾值分割,得到二值圖; (6)根據(jù)已經(jīng)確定的圓定位工具的圓心位置,半徑大小、箭頭個(gè)數(shù)、箭頭長(zhǎng)度和箭頭方向5個(gè)參數(shù),對(duì)待檢測(cè)的瓶蓋圖像的二值圖進(jìn)行外圓輪廓的搜索,得到外圓輪廓上的若干輪廓點(diǎn),將這些輪廓點(diǎn)利用霍夫變換進(jìn)行擬合,得到待檢測(cè)的瓶蓋的圖像的圓心坐標(biāo)和半徑; (7)對(duì)二值圖像進(jìn)行8鄰域輪廓跟蹤,找出待檢測(cè)的瓶蓋的外圓輪廓上所有輪廓點(diǎn); (8)將待檢測(cè)的瓶蓋的外圓輪廓上相隔一定像素的兩點(diǎn)的連線近似認(rèn)為是圓的切線,兩點(diǎn)連線的中點(diǎn)近似認(rèn)為是切點(diǎn),求外圓切線與過(guò)切點(diǎn)的半徑的夾角,若求得的夾角大概在0° -75。之間,則認(rèn)為存在毛刺。
2.根據(jù)權(quán)利要求1所述的檢測(cè)瓶蓋外圓毛刺的方法,其特征在于,步驟(6)的方法如下:如果圓定位工具的箭頭方向是從圓內(nèi)指向圓外,從箭頭始端沿箭頭方向進(jìn)行搜索時(shí),判斷當(dāng)前像素值減去上一個(gè)像素為O,并且當(dāng)前像素減去下一個(gè)像素為255時(shí),記錄該像素點(diǎn)的位置,認(rèn)為該像素點(diǎn)時(shí)瓶蓋外圓輪廓上的點(diǎn),繼續(xù)搜索下一個(gè)箭頭所在位置的外圓輪廓上的點(diǎn);如果圓定位工具的箭頭方向是從圓外內(nèi)指向圓內(nèi),從箭頭始端沿箭頭方向進(jìn)行搜索時(shí),判斷當(dāng)前像素值減 去上一個(gè)像素為-255,并且當(dāng)前像素減去下一個(gè)像素為O時(shí),記錄該像素點(diǎn)的位置,認(rèn)為該像素點(diǎn)時(shí)瓶蓋外圓輪廓上的點(diǎn),繼續(xù)搜索下一個(gè)箭頭所在位置的外圓輪廓上的點(diǎn);在得到瓶蓋外圓輪廓上所有箭頭所在區(qū)域的輪廓點(diǎn)后,利用霍夫變換擬合出一個(gè)標(biāo)準(zhǔn)圓,得到瓶蓋的圓心坐標(biāo)和半徑。
3.根據(jù)權(quán)利要求1所述的檢測(cè)瓶蓋外圓毛刺的方法,其特征在于,步驟(7)的方法如下:已知瓶蓋圓心坐標(biāo)和半徑,從圓心出發(fā)向待檢測(cè)的瓶蓋圖像的某個(gè)方向進(jìn)行搜索,當(dāng)前像素點(diǎn)與下一個(gè)像素點(diǎn)的灰度差值為255時(shí),認(rèn)為當(dāng)前像素點(diǎn)為可能為輪廓上的點(diǎn),再判斷當(dāng)前像素點(diǎn)到圓心的距離是否和半徑相當(dāng),如果相差較小,在設(shè)定的閾值范圍內(nèi),則認(rèn)為是外圓輪廓上的點(diǎn),否則,繼續(xù)沿著該方向向外按照同樣的方法繼續(xù)搜索,直到找到外圓輪廓上的點(diǎn)為止,以該點(diǎn)作為輪廓跟蹤的起始點(diǎn),輪廓跟蹤時(shí),記錄跟蹤到的像素點(diǎn)坐標(biāo)。
【文檔編號(hào)】G06F3/00GK103606128SQ201310651247
【公開(kāi)日】2014年2月26日 申請(qǐng)日期:2013年12月4日 優(yōu)先權(quán)日:2013年12月4日
【發(fā)明者】李華偉, 李鳳婷, 關(guān)帥, 余天洪, 諶孫煥, 卜學(xué)哲 申請(qǐng)人:天津普達(dá)軟件技術(shù)有限公司