本發(fā)明涉及圖像處理領(lǐng)域,并且特別地,涉及一種工件檢測(cè)方法和裝置。
背景技術(shù):
工件定位算法是一種常用算法。該算法的目的是要確定工件的位置偏移、角度偏移等信息,以便基于這些信息對(duì)工件進(jìn)行后續(xù)處理。目前,工件定位算法已經(jīng)在機(jī)器人抓取物件、機(jī)器視覺等多個(gè)領(lǐng)域中廣泛應(yīng)用,成為了對(duì)工件進(jìn)行檢測(cè)和測(cè)量的主要手段之一。
在一些對(duì)于精度要求較高的檢測(cè)和測(cè)量場(chǎng)景中,對(duì)于工件的定位也提出了更高的要求。為了提高檢測(cè)精度,目前已經(jīng)提出了多種的檢測(cè)方法。例如,在申請(qǐng)?zhí)枮?01310509532.3、名稱為“一種基于CCD的高精度測(cè)量方法”的專利中,就公開了對(duì)工件進(jìn)行檢測(cè)的方案。該方案建立了一個(gè)基于機(jī)器視覺的機(jī)械零件檢測(cè)模型,該模型綜合運(yùn)用了攝像機(jī)標(biāo)定、亞像素邊緣輪廓提取和基于形狀的模板匹配技術(shù)。在該專利所公開的方案中,首先根據(jù)攝像機(jī)成像模型,對(duì)相機(jī)進(jìn)行內(nèi)外部參數(shù)標(biāo)定,根據(jù)內(nèi)部參數(shù)校正畸變圖像。然后,定位被測(cè)物,區(qū)分其上下邊緣并提取上表面的亞像素邊緣,導(dǎo)入CAD數(shù)據(jù)模型,采用基于形狀的模板匹配方法匹配被測(cè)物。最后將輪廓距離作為誤差的度量。
該專利所公開的方案雖然具有較高的檢測(cè)精度,但是運(yùn)算量很大、檢測(cè)速度較慢、且復(fù)雜度較高,因此無法適用于對(duì)檢測(cè)速度有較高要求的場(chǎng)景中,例如,該專利公開的方案很難應(yīng)用于在線檢測(cè)。
此外,在申請(qǐng)?zhí)枮?01210227659.1、名稱為“基于圖像邊界極坐標(biāo)化離散序列的角度識(shí)別方法”的專利中,公開了一種專門用于識(shí)別角度的方案。該方案首先求取目標(biāo)圖像的邊界離散序列,之后將目標(biāo)圖像的邊界離散序列與模板圖像的邊界離散序列以第二決策的方式進(jìn)行粗匹配,得到轉(zhuǎn)角的粗匹配結(jié)果;最后,在上一步基礎(chǔ)上,通過第三決策,求得目標(biāo)圖像相對(duì)于模板圖像的精確轉(zhuǎn)角。通過先進(jìn)行粗匹配之后進(jìn)行精確匹配,該專利所公開的方案能夠在一定程度上減小運(yùn)算量。但是,該專利在將旋轉(zhuǎn)后的圖像與模板圖像進(jìn)行粗匹配和精確匹配時(shí),所采用的方案是建立相應(yīng)的匹配評(píng)價(jià)函數(shù)對(duì)旋轉(zhuǎn)后的圖像進(jìn)行計(jì)算。這種采用函數(shù)進(jìn)行計(jì)算來完成匹配的方案依然具有較大的運(yùn)算量,處理效率較低,計(jì)算過程較為復(fù)雜,不易于實(shí)現(xiàn)。另外,對(duì)于邊界不明顯的工件,該專利的檢測(cè)準(zhǔn)確率將明顯降低。
針對(duì)相關(guān)技術(shù)中工件檢測(cè)的運(yùn)算量大、過程復(fù)雜、不易實(shí)現(xiàn)、以及不能適用所有工件的問題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)相關(guān)技術(shù)中的上述問題,本發(fā)明提出一種工件檢測(cè)方法和裝置,能夠減少運(yùn)算量、降低復(fù)雜度和實(shí)現(xiàn)的難度,同時(shí)可以適用于各種工件。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種工件檢測(cè)方法。
根據(jù)本發(fā)明的工件檢測(cè)方法包括:對(duì)待檢測(cè)的工件的第一檢測(cè)圖進(jìn)行抽樣,得到第二檢測(cè)圖,并對(duì)工件所對(duì)應(yīng)的第一參考圖進(jìn)行抽樣,得到第二參考圖,其中,第一檢測(cè)圖由對(duì)待檢測(cè)的工件進(jìn)行拍照得到;以預(yù)定的第一角度對(duì)第二檢測(cè)圖進(jìn)行多次旋轉(zhuǎn),在每次旋轉(zhuǎn)后,將當(dāng)前旋轉(zhuǎn)后的第二檢測(cè)圖與第二參考圖相減,得到差值,直至得到的差值為第一最小差值,將得到第一最小差值時(shí)對(duì)第二檢測(cè)圖旋轉(zhuǎn)的總角度確定為第一角度偏差值;基于第一角度偏差值以及預(yù)定的角度誤差,得到旋轉(zhuǎn)角度范圍;在旋轉(zhuǎn)角度范圍內(nèi)以第二角度對(duì)第一檢測(cè)圖進(jìn)行多次旋轉(zhuǎn),在每次旋轉(zhuǎn)后,將當(dāng)前旋轉(zhuǎn)后的第一檢測(cè)圖與第一參考圖相減,得到差值,直至得到的差值為第二最小差值,并將得到第二最小差值時(shí)對(duì)第一檢測(cè)圖旋轉(zhuǎn)的總角度確定為第二角度偏差值。
在一個(gè)實(shí)施例中,在對(duì)第一檢測(cè)圖和第一參考圖進(jìn)行抽樣之前,根據(jù)本發(fā)明的工件檢測(cè)方法可以進(jìn)一步包括:
確定第一檢測(cè)圖中工件的尺寸參數(shù),將確定的尺寸參數(shù)與預(yù)先保存的多個(gè)參考圖中工件的尺寸參數(shù)進(jìn)行比對(duì);
將多個(gè)參考圖中工件的尺寸參數(shù)與第一檢測(cè)圖中工件的尺寸參數(shù)相匹配的參考圖確定為工件所對(duì)應(yīng)的第一參考圖。
進(jìn)一步地,在確定第一檢測(cè)圖中工件的尺寸參數(shù)之前,根據(jù)本發(fā)明的工件檢測(cè)方法可以進(jìn)一步包括:確定第一檢測(cè)圖和多個(gè)參考圖中的每一個(gè)所包含的工件數(shù)量;在第一檢測(cè)圖所包含的工件數(shù)量或所確定的參考圖所包含的工件數(shù)量為多個(gè)的情況下,停止后續(xù)處理。
此外,在確定第一檢測(cè)圖中工件的尺寸參數(shù)時(shí),可以確定第一檢測(cè)圖中工件的最小外接矩形或最大內(nèi)接矩形的尺寸參數(shù);
并且,將確定的尺寸參數(shù)與預(yù)先保存的多個(gè)參考圖中工件的尺寸參數(shù)進(jìn)行比對(duì)包括:
將第一檢測(cè)圖中工件的最小外接矩形或最大內(nèi)接矩形的尺寸參數(shù)、與多個(gè)檢測(cè)圖中所包含工件的最小外接矩形或最大內(nèi)接矩形的尺寸參數(shù)進(jìn)行比較。
此外,在一個(gè)實(shí)施例中,在對(duì)第一檢測(cè)圖旋轉(zhuǎn)之前,根據(jù)本發(fā)明的工件檢測(cè)方法進(jìn)一步包括:基于第一檢測(cè)圖建立第一坐標(biāo)系,并基于第一參考圖建立第二坐標(biāo)系,第一檢測(cè)圖和第一參考圖與各自坐標(biāo)系中原點(diǎn)的相對(duì)位置關(guān)系相同;確定第一檢測(cè)圖中工件的質(zhì)心在第一坐標(biāo)系中的位置作為第一位置,并確定第一參考圖中工件的質(zhì)心在第二坐標(biāo)系中的位置作為第二位置;根據(jù)第一位置和第二位置之間的位置差確定平移量,并根據(jù)平移量對(duì)第一檢測(cè)圖進(jìn)行平移,使第一檢測(cè)圖中工件的質(zhì)心在第一坐標(biāo)系中的第一位置與第一參考圖中工件的質(zhì)心在第二坐標(biāo)系中的第二位置相同;
并且,在對(duì)第一參考圖進(jìn)行旋轉(zhuǎn)之前,工件檢測(cè)方法進(jìn)一步包括:根據(jù)平移量對(duì)第一檢測(cè)圖進(jìn)行平移。
進(jìn)一步地,根據(jù)本發(fā)明的工件檢測(cè)方法可以進(jìn)一步包括:
根據(jù)平移量和/或第二角度偏差值,對(duì)第一檢測(cè)圖進(jìn)行旋轉(zhuǎn)和平移,將經(jīng)旋轉(zhuǎn)和/或平移后的第一檢測(cè)圖與第一參考圖進(jìn)行比對(duì),確定第一檢測(cè)圖中工件的質(zhì)量;和/或
根據(jù)平移量和/或第二角度偏差值拾取工件。
此外,在對(duì)第一檢測(cè)圖進(jìn)行多次旋轉(zhuǎn)之前,根據(jù)本發(fā)明的工件檢測(cè)方法可以進(jìn)一步包括:對(duì)第一檢測(cè)圖和第一參考圖進(jìn)行插值。
可選地,對(duì)第一檢測(cè)圖和第一參考圖進(jìn)行插值可以包括:
通過亞像素邊緣定位方法對(duì)第一檢測(cè)圖和第一參考圖中工件的邊緣進(jìn)行定位,并根據(jù)定位的邊緣進(jìn)行插值。
此外,上述第一角度可以大于第二角度。
此外,上述第一檢測(cè)圖和第一參考圖可以均為二值化處理后的圖像。
根據(jù)本發(fā)明的另一方面,提供了一種工件檢測(cè)裝置。
根據(jù)本發(fā)明的工件檢測(cè)裝置包括:抽樣模塊,用于對(duì)待檢測(cè)的工件的第一檢測(cè)圖進(jìn)行抽樣,得到第二檢測(cè)圖,并對(duì)工件所對(duì)應(yīng)的第一參考圖進(jìn)行抽樣,得到第二參考圖,其中,第一檢測(cè)圖由對(duì)待檢測(cè)的工件進(jìn)行拍照得到;第一處理模塊,用于以預(yù)定的第一角度對(duì)第二檢測(cè)圖進(jìn)行多次旋轉(zhuǎn),在每次旋轉(zhuǎn)后,將當(dāng)前旋轉(zhuǎn)后的第二檢測(cè)圖與第二參考圖相減,得到差值,直至得到的差值為第一最小差值,將得到第一最小差值時(shí)對(duì)第二檢測(cè)圖旋轉(zhuǎn)的總角度確定為第一角度偏差值;范圍確定模塊,基于第一角度偏差值以及預(yù)定的角度誤差,得到旋轉(zhuǎn)角度范圍;第二處理模塊,用于在旋轉(zhuǎn)角度范圍內(nèi)以第二角度對(duì)第一檢測(cè)圖進(jìn)行多次旋轉(zhuǎn),在每次旋轉(zhuǎn)后,將當(dāng)前旋轉(zhuǎn)后的第一檢測(cè)圖與第一參考圖相減,得到差值,直至得到的差值為第二最小差值,并將得到第二最小差值時(shí)對(duì)第一檢測(cè)圖旋轉(zhuǎn)的總角度確定為第二角度偏差值。
根據(jù)本發(fā)明的工件檢測(cè)裝置可以進(jìn)一步包括:
尺寸比對(duì)模塊,用于在抽樣模塊對(duì)第一檢測(cè)圖和第一參考圖進(jìn)行抽樣之前,確定第一檢測(cè)圖中工件的尺寸參數(shù),將確定的尺寸參數(shù)與預(yù)先保存的多個(gè)參考圖中工件的尺寸參數(shù)進(jìn)行比對(duì);
圖像確定模塊,用于將多個(gè)參考圖中工件的尺寸參數(shù)與第一檢測(cè)圖中工件的尺寸參數(shù)相匹配的參考圖確定為工件所對(duì)應(yīng)的第一參考圖。
進(jìn)一步而言,根據(jù)本發(fā)明的工件檢測(cè)裝置還可以包括:工件數(shù)量確定模塊,用于在尺寸比對(duì)模塊確定第一檢測(cè)圖中工件的尺寸參數(shù)之前,確定第一檢測(cè)圖和多個(gè)參考圖中的每一個(gè)所包含的工件數(shù)量;并且,在第一檢測(cè)圖所包含的工件數(shù)量或所確定的參考圖所包含的工件數(shù)量為多個(gè)的情況下,停止后續(xù)處理。
此外,上述尺寸比對(duì)模塊用于確定第一檢測(cè)圖中工件的最小外接矩形或最大內(nèi)接矩形的尺寸參數(shù),作為第一檢測(cè)圖中工件的尺寸參數(shù);
并且,尺寸比對(duì)模塊還用于將第一檢測(cè)圖中工件的最小外接矩形或最大內(nèi)接矩形的尺寸參數(shù)、與多個(gè)檢測(cè)圖中所包含工件的最小外接矩形或最大內(nèi)接矩形的尺寸參數(shù)進(jìn)行比較。
此外,在一個(gè)實(shí)施例中,上述第一處理模塊還用于在對(duì)第一檢測(cè)圖旋轉(zhuǎn)之前,基于第一檢測(cè)圖建立第一坐標(biāo)系,并基于第一參考圖建立第二坐標(biāo)系,第一檢測(cè)圖和第一參考圖與各自坐標(biāo)系中原點(diǎn)的相對(duì)位置關(guān)系相同;第一處理模塊進(jìn)一步用于確定第一檢測(cè)圖中工件的質(zhì)心在第一坐標(biāo)系中的位置作為第一位置,并確定第一參考圖中工件的質(zhì)心在第二坐標(biāo)系中的位置作為第二位置;以及用于根據(jù)第一位置和第二位置之間的位置差確定平移量,并根據(jù)平移量對(duì)第一檢測(cè)圖進(jìn)行平移,使第一檢測(cè)圖中工件的質(zhì)心在第一坐標(biāo)系中的第一位置與第一參考圖中工件的質(zhì)心在第二坐標(biāo)系中的第二位置相同;
并且,在對(duì)第一參考圖進(jìn)行旋轉(zhuǎn)之前,第一處理模塊根據(jù)平移量對(duì)第一檢測(cè)圖進(jìn)行平移。
進(jìn)一步地,根據(jù)本發(fā)明實(shí)施例的工件檢測(cè)裝置還可以包括:質(zhì)量檢測(cè)模塊,用于根據(jù)平移量和/或第二角度偏差值,對(duì)第一檢測(cè)圖進(jìn)行旋轉(zhuǎn)和平移,將經(jīng)旋轉(zhuǎn)和/或平移后的第一檢測(cè)圖與第一參考圖進(jìn)行比對(duì),確定第一檢測(cè)圖中工件的質(zhì)量;和/或控制模塊,用于根據(jù)平移量和/或第二角度偏差值控制工件拾取設(shè)備,以拾取工件。
此外,可選地,上述第二處理模塊還用于在對(duì)第一檢測(cè)圖進(jìn)行多次旋轉(zhuǎn)之前,對(duì)第一檢測(cè)圖和第一參考圖進(jìn)行插值,其中,第二處理模塊通過亞像素邊緣定位方法對(duì)第一檢測(cè)圖和第一參考圖中工件的邊緣進(jìn)行定位,并根據(jù)定位的邊緣進(jìn)行插值。
此外,上述第一角度可以大于第二角度;上述第一檢測(cè)圖和第一參考圖可以均為二值化處理后的圖像。
本發(fā)明能夠?qū)崿F(xiàn)以下技術(shù)效果:
(1)本發(fā)明在對(duì)圖像抽樣后進(jìn)行旋轉(zhuǎn)和相減,得到初步結(jié)果(第一角度偏差值)后,再在旋轉(zhuǎn)未經(jīng)抽樣的圖像之前參照該初步結(jié)果,能夠有效減少旋轉(zhuǎn)過程所需的運(yùn)算量,節(jié)省了處理時(shí)間;另外,本發(fā)明將檢測(cè)圖與參考圖進(jìn)行相減來確定兩個(gè)圖像之間的角度差異,不僅能夠準(zhǔn)確地確定兩個(gè)圖像之間的差異,而且運(yùn)算方法簡單、運(yùn)算量小,無需復(fù)雜的函數(shù)運(yùn)算;不僅如此,這種圖像相減的方法適用于所有形狀的工件,不論工件的形狀是否復(fù)雜、特征和輪廓是否明顯,相減后的結(jié)果都能夠準(zhǔn)確體現(xiàn)出兩個(gè)圖像之間的差異,而無需借助復(fù)雜的算法來描述工件的形狀以及確定兩個(gè)圖像是否匹配;
(2)在本發(fā)明的一個(gè)實(shí)施例中,通過根據(jù)尺寸參數(shù)來確定與檢測(cè)圖中工件對(duì)應(yīng)的參考圖,能夠保證相比對(duì)的檢測(cè)圖和參考圖中包含的工件為同種工件,避免因?yàn)閷煌N工件的圖像進(jìn)行比對(duì)而導(dǎo)致輸出無效結(jié)果的問題,防止進(jìn)行無用的處理和運(yùn)算;
(3)在本發(fā)明的一個(gè)實(shí)施例中,通過預(yù)先確定檢測(cè)圖和參考圖中所包含工件的數(shù)量,并在工件數(shù)量多于一個(gè)的情況下停止后續(xù)處理(包括抽樣、旋轉(zhuǎn)等),能夠預(yù)先發(fā)現(xiàn)圖像中所包含工件的數(shù)量是否滿足要求,避免因?yàn)閷鄠€(gè)工件的圖像進(jìn)行后續(xù)的旋轉(zhuǎn)、比對(duì)等處理而造成處理出現(xiàn)錯(cuò)誤的問題;
(4)在本發(fā)明的一個(gè)實(shí)施例中,基于最小外接矩形或最大內(nèi)接矩形的尺寸參數(shù)來確定與檢測(cè)圖進(jìn)行比較的參考圖,其處理方式簡單,處理效率較高;
(5)在本發(fā)明的一個(gè)實(shí)施例中,通過確定檢測(cè)圖和參考圖中工件的質(zhì)心位置并對(duì)檢測(cè)圖進(jìn)行平移,不僅能夠確定檢測(cè)圖中工件的位置相比于參考圖中的工件是否存在偏差以及偏差的大小(平移量),而且能夠讓后續(xù)的圖像旋轉(zhuǎn)和相減操作均基于質(zhì)心處于相同位置的工件執(zhí)行,從而讓圖像的相減結(jié)果更加準(zhǔn)確地反應(yīng)檢測(cè)圖與參考圖之間的角度差異;
(6)在本發(fā)明的一個(gè)實(shí)施例中,通過確定平移量和第二角度偏差值,能夠?yàn)楹罄m(xù)對(duì)于工件表面、工件材質(zhì)、工件外形等質(zhì)量檢測(cè)提供幫助,而且還能夠?yàn)楣ぜ氖叭?例如,可以是夾持)和輸送提供有效的位置參照;
(7)在本發(fā)明的一個(gè)實(shí)施例中,在對(duì)第一檢測(cè)圖和第一參考圖進(jìn)行旋轉(zhuǎn)之前,對(duì)第一檢測(cè)圖和第一參考圖進(jìn)行插值,能夠更加準(zhǔn)確地確定不同角度下第一檢測(cè)圖與第一參考圖之間的差,從而讓確定的第二角度偏差值更加精確;
(8)在本發(fā)明的一個(gè)實(shí)施例中,通過采用亞像素邊緣檢測(cè)方法進(jìn)行插值,能夠提高檢測(cè)結(jié)果的精確度,使精確度達(dá)到亞像素級(jí)別;
(9)在本發(fā)明的一個(gè)實(shí)施例中,在得到初步結(jié)果(第一角度偏差值)的過程中以較大的角度進(jìn)行多次旋轉(zhuǎn)抽樣后的檢測(cè)圖,在得到后續(xù)精確結(jié)果的過程中以較小的角度多次旋轉(zhuǎn)未抽樣的檢測(cè)圖,既能夠保證對(duì)抽樣后檢測(cè)圖進(jìn)行旋轉(zhuǎn)的效率,還能夠保證對(duì)未抽樣的檢測(cè)圖進(jìn)行旋轉(zhuǎn)的精度,從而在不影響角度偏差確定結(jié)果精確度的前提下,減少旋轉(zhuǎn)處理所需的計(jì)算量;
(10)在本發(fā)明的一個(gè)實(shí)施例中,檢測(cè)圖和參考圖均為二值化處理后的圖像,這樣,在后續(xù)進(jìn)行抽樣、旋轉(zhuǎn)以及相減等操作時(shí),所基于的圖像已經(jīng)排除了因?yàn)樵肼?、光線等干擾因素對(duì)圖像質(zhì)量所造成的不良影響,從而提高了檢測(cè)的精確度。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是根據(jù)本發(fā)明一實(shí)施例的工件檢測(cè)方法的流程圖;
圖2是根據(jù)本發(fā)明另一實(shí)施例的工件檢測(cè)方法的流程圖;
圖3是示出根據(jù)本發(fā)明實(shí)施例工件參考圖的示意圖;
圖4a至圖4c是根據(jù)本發(fā)明實(shí)施例對(duì)檢測(cè)圖進(jìn)行旋轉(zhuǎn)并與參考圖進(jìn)行比對(duì)的示意圖;
圖5是本發(fā)明實(shí)施例的工件檢測(cè)裝置的框圖。
具體實(shí)施方式
此說明性實(shí)施方式的描述應(yīng)與相應(yīng)的附圖相結(jié)合,附圖應(yīng)作為完整的說明書的一部分。在附圖中,實(shí)施例的形狀或是厚度可擴(kuò)大,并以簡化或是方便標(biāo)示。再者,附圖中各結(jié)構(gòu)的部分將以分別描述進(jìn)行說明,值得注意的是,圖中未示出或未通過文字進(jìn)行說明的元件,為所屬技術(shù)領(lǐng)域中的普通技術(shù)人員所知的形式。
此處實(shí)施例的描述,有關(guān)方向和方位的任何參考,均僅是為了便于描述,而不能理解為對(duì)本發(fā)明保護(hù)范圍的任何限制。以下對(duì)于優(yōu)選實(shí)施方式的說明會(huì)涉及到特征的組合,這些特征可能獨(dú)立存在或者組合存在,本發(fā)明并不特別地限定于優(yōu)選的實(shí)施方式。本發(fā)明的范圍由權(quán)利要求書所界定。
根據(jù)本發(fā)明的實(shí)施例,提供了一種工件檢測(cè)方法。
如圖1所示,根據(jù)本發(fā)明實(shí)施例的工件檢測(cè)方法包括:
步驟S101,對(duì)待檢測(cè)的工件的第一檢測(cè)圖進(jìn)行抽樣,得到第二檢測(cè)圖,并對(duì)工件所對(duì)應(yīng)的第一參考圖(該參考圖中所包含的工件與待檢測(cè)工件為同種工件,參考圖也可以被稱為定位圖)進(jìn)行抽樣,得到第二參考圖,其中,第一檢測(cè)圖由對(duì)待檢測(cè)的工件進(jìn)行拍照得到;
步驟S103,以預(yù)定的第一角度對(duì)第二檢測(cè)圖進(jìn)行多次旋轉(zhuǎn),在每次旋轉(zhuǎn)后,將當(dāng)前旋轉(zhuǎn)后的第二檢測(cè)圖與第二參考圖相減,得到差值,直至得到的差值為第一最小差值,將得到該最小差值時(shí)對(duì)第二檢測(cè)圖旋轉(zhuǎn)的總角度確定為第一角度偏差值;
步驟S105,基于第一角度偏差值以及預(yù)定的角度誤差,得到旋轉(zhuǎn)角度范圍;
步驟S107,在旋轉(zhuǎn)角度范圍內(nèi)以第二角度對(duì)第一檢測(cè)圖進(jìn)行多次旋轉(zhuǎn),在每次旋轉(zhuǎn)后,將當(dāng)前旋轉(zhuǎn)后的第一檢測(cè)圖與第一參考圖相減,得到差值,直至得到的差值為第二最小差值,并將得到該最小差值時(shí)對(duì)第一檢測(cè)圖旋轉(zhuǎn)的總角度確定為第二角度偏差值。
基于上述處理,在得到第二角度偏差值之后,即可確定第一檢測(cè)圖中的工件與第一參考圖中的工件之間的角度偏差,從而完成對(duì)工件的定位檢測(cè)。根據(jù)該第二角度偏差值,即可對(duì)第一檢測(cè)圖進(jìn)行旋轉(zhuǎn),之后用旋轉(zhuǎn)后的第一檢測(cè)圖與參考圖進(jìn)行比對(duì),進(jìn)而確定工件是否存在外形上的缺陷。此外,還可以根據(jù)該角度來調(diào)整夾具等用于拾取工件的設(shè)備的當(dāng)前角度,為工件的拾取和輸送提供參照。
在一個(gè)實(shí)施例中,對(duì)第一檢測(cè)圖和第一參考圖執(zhí)行的抽樣處理可以是降采樣,也可以是像素均值濾波,或者也可以是其他能夠降低圖像的分辨率和/或尺寸的處理。相比于原圖,經(jīng)過抽樣后的第一檢測(cè)圖(即,第二檢測(cè)圖)和第一參考圖(即,第二參考圖)所占的空間都會(huì)明顯減小,在旋轉(zhuǎn)第二檢測(cè)圖時(shí)所需的計(jì)算量就會(huì)明顯降低,相應(yīng)地,在將第二檢測(cè)圖與第二參考圖進(jìn)行相減時(shí),所需的計(jì)算量同樣會(huì)減少。因此,本發(fā)明能夠降低檢測(cè)過程的運(yùn)算量和復(fù)雜度,提高處理效率,適用于在線檢測(cè)等對(duì)于時(shí)間要求較為嚴(yán)格的場(chǎng)景。
具體而言,將兩個(gè)圖像相減可以理解為將兩個(gè)圖像中相應(yīng)像素的像素值分別相減,之后將所有像素相減后得到的結(jié)果進(jìn)行加和,如果相減的兩個(gè)像素相同(即,像素值相同),則相減后的結(jié)果為0,因此,最終的加和結(jié)果就反映了兩個(gè)圖像之間的差異大小。
假設(shè)圖像E和圖像F均包含4個(gè)像素,在圖像E和圖像F中,這4個(gè)像素均呈“田”字型分布。在將圖像E和圖像F相減時(shí),將圖像E中位于左上角位置像素的像素值與圖像F中位于左上角位置像素的像素值相減得到結(jié)果1,將圖像E中位于右上角位置像素的像素值與圖像F中位于右上角位置像素的像素值相減得到結(jié)果2,將圖像E中位于左下角位置像素的像素值與圖像F中位于左下角位置像素的像素值相減得到結(jié)果3,將圖像E中位于右下角位置像素的像素值與圖像F中位于右下角位置像素的像素值相減得到結(jié)果4。結(jié)果1+結(jié)果2+結(jié)果3+結(jié)果4所得到的加和結(jié)果,就反映了圖像E和圖像F之間的差異。如果結(jié)果1至結(jié)果4均為0,則加和結(jié)果同樣為0,表示圖像E和圖像F完全相同。
如果圖E和圖F均為二值化后的圖像,且圖像E的4個(gè)像素與圖像F中對(duì)應(yīng)的4個(gè)像素均不相同,則結(jié)果1至結(jié)果4均為1,加和后的結(jié)果為4,表示圖像E和圖像F完全不同。
另外,本發(fā)明首先基于抽樣后的圖像進(jìn)行旋轉(zhuǎn),得到第一角度偏差值,之后基于該第一角度偏差值以及預(yù)定角度誤差來旋轉(zhuǎn)未經(jīng)抽樣的圖像,確定第二角度偏差值。由于在旋轉(zhuǎn)未抽樣的圖像時(shí)可以參照第一角度偏差值,而無需在360°范圍內(nèi)進(jìn)行旋轉(zhuǎn),所以不僅減少了旋轉(zhuǎn)圖像的運(yùn)算量,而且保證了角度偏差檢測(cè)的精確度。
在實(shí)際應(yīng)用中,假設(shè)對(duì)于工件M進(jìn)行拍照后得到檢測(cè)圖A,工件M的同種工件的參考圖為參考圖B。在對(duì)檢測(cè)圖A進(jìn)行抽樣后,得到檢測(cè)圖A’;在對(duì)參考圖B進(jìn)行抽樣后,得到參考圖B’。假設(shè)第一角度為2°,則在旋轉(zhuǎn)檢測(cè)圖A’時(shí),可以沿順時(shí)針方向旋轉(zhuǎn)檢測(cè)圖A’,每次旋轉(zhuǎn)2°。
具體地,在第一次旋轉(zhuǎn)檢測(cè)圖A’后,檢測(cè)圖A’相比于原位置的角度偏差為2°,此時(shí),將一次旋轉(zhuǎn)后的檢測(cè)圖A’與參考圖B’進(jìn)行相減后,得到的差值為x1;
在第一次旋轉(zhuǎn)的基礎(chǔ)上,沿順時(shí)針方向?qū)z測(cè)圖A’進(jìn)行第二次旋轉(zhuǎn),第二次旋轉(zhuǎn)后的檢測(cè)圖A’的總旋轉(zhuǎn)角度為4°,將第二次旋轉(zhuǎn)后的檢測(cè)圖A’與參考圖B’進(jìn)行相減后,得到的差值為x2,其中,x1>x2;
在第二次旋轉(zhuǎn)的基礎(chǔ)上,沿順時(shí)針方向?qū)z測(cè)圖A’進(jìn)行第三次旋轉(zhuǎn),第三次旋轉(zhuǎn)后的檢測(cè)圖A’的總旋轉(zhuǎn)角度為6°,將第三次旋轉(zhuǎn)后的檢測(cè)圖A’與參考圖B’進(jìn)行相減后,得到的差值為x3,其中,x1>x2>x3;
在第三次旋轉(zhuǎn)的基礎(chǔ)上,沿順時(shí)針方向?qū)z測(cè)圖A’進(jìn)行第四次旋轉(zhuǎn),第四次旋轉(zhuǎn)后的檢測(cè)圖A’的總旋轉(zhuǎn)角度為8°,將第四次旋轉(zhuǎn)后的檢測(cè)圖A’與參考圖B’進(jìn)行相減后,得到的差值為x4,其中,x1>x2>x3>x4;
在第四次旋轉(zhuǎn)的基礎(chǔ)上,沿順時(shí)針方向?qū)z測(cè)圖A’進(jìn)行第五次旋轉(zhuǎn),第五次旋轉(zhuǎn)后的檢測(cè)圖A’的總旋轉(zhuǎn)角度為10°,將第五次旋轉(zhuǎn)后的檢測(cè)圖A’與參考圖B’進(jìn)行相減后,得到的差值為x5,其中,x1>x2>x3>x4,但是x5<x4;這樣就表明,在得到差值x4時(shí)(檢測(cè)圖A’的總旋轉(zhuǎn)角度為8°),檢測(cè)圖A’中的工件與參考圖B’中的工件角度最為接近,即可確定x4為第一最小差值,進(jìn)而確定該8°為第一角度偏差值(可以認(rèn)為該8°為粗定位結(jié)果)。
接下來,基于該8°和預(yù)定的角度誤差來確定旋轉(zhuǎn)范圍,該旋轉(zhuǎn)范圍用于進(jìn)行精確定位。假設(shè)角度誤差為±3°,則基于第一角度偏差值8°,即可確定該旋轉(zhuǎn)范圍為5°至11°;之后,即可在5°至11°的旋轉(zhuǎn)范圍內(nèi)旋轉(zhuǎn)檢測(cè)圖A,并在每次旋轉(zhuǎn)后將檢測(cè)圖A與參考圖B進(jìn)行相減。
具體地,基于該旋轉(zhuǎn)范圍,可以首先沿著順時(shí)針方向,將檢測(cè)圖A旋轉(zhuǎn)5°,在首次旋轉(zhuǎn)檢測(cè)圖A后,將檢測(cè)圖A與參考圖B相減,得到差值y1,此時(shí),檢測(cè)圖A的總旋轉(zhuǎn)角度為5°;
在首次旋轉(zhuǎn)基礎(chǔ)上,以第二角度沿順時(shí)針方向繼續(xù)旋轉(zhuǎn)檢測(cè)圖A,假設(shè)第二角度為1°,則在第二次旋轉(zhuǎn)檢測(cè)圖A之后,檢測(cè)圖A的總旋轉(zhuǎn)角度為6°,將檢測(cè)圖A與參考圖B相減,得到差值y2,其中,y1>y2;
在第二次旋轉(zhuǎn)基礎(chǔ)上,對(duì)檢測(cè)圖A進(jìn)行第三次旋轉(zhuǎn);第三次旋轉(zhuǎn)之后的檢測(cè)圖A的總旋轉(zhuǎn)角度為7°(即,第一檢測(cè)圖的總旋轉(zhuǎn)角度),將檢測(cè)圖A與參考圖B相減,得到差值y3,其中,y1>y2>y3;
在第三次旋轉(zhuǎn)基礎(chǔ)上,對(duì)檢測(cè)圖A進(jìn)行第四次旋轉(zhuǎn);第四次旋轉(zhuǎn)之后的檢測(cè)圖A的總旋轉(zhuǎn)角度為8°,將檢測(cè)圖A與參考圖B相減,得到差值y4,其中,y1>y2>y3,y4>y3;這樣就表明,在得到差值y3時(shí)(檢測(cè)圖A的總旋轉(zhuǎn)角度為7°),檢測(cè)圖A中的工件與參考圖B中的工件角度最為接近,y3為第二最小差值,進(jìn)而可確定該7°為第二角度偏差值(可以認(rèn)為該7°為精確定位結(jié)果)。
通過以上處理可以看出,由于可以參考粗定位結(jié)果,所以在旋轉(zhuǎn)未經(jīng)抽樣的檢測(cè)圖時(shí),旋轉(zhuǎn)的次數(shù)可以明顯減少,僅在一定范圍內(nèi)旋轉(zhuǎn)即可,從而降低了運(yùn)算量和復(fù)雜度;此外,所以在得到第二角度偏差值時(shí),不僅因?yàn)橄鄿p的圖像的分辨率更高而能夠提高準(zhǔn)確性,還可以通過將第二角度設(shè)置為小于第一角度,以更小的角度多次旋轉(zhuǎn)并完成比對(duì),從而進(jìn)一步提高檢測(cè)精確度。
此外,數(shù)據(jù)庫中往往會(huì)保存多個(gè)參考圖,這些參考圖中包含很多種類的工件。為了對(duì)當(dāng)前工件進(jìn)行檢測(cè),需要將當(dāng)前工件的檢測(cè)圖與參考圖進(jìn)行相減操作,因此,參與相減操作的參考圖中所包含的工件與當(dāng)前待檢測(cè)工件應(yīng)當(dāng)為同種工件,否則就會(huì)導(dǎo)致輸出無效的檢測(cè)結(jié)果。在一個(gè)實(shí)施例中,在對(duì)第一檢測(cè)圖和第一參考圖進(jìn)行抽樣之前,上述工件檢測(cè)方法可以進(jìn)一步包括:確定第一檢測(cè)圖中工件的尺寸參數(shù)(可以包括長度、寬度和/或面積等參數(shù)),將確定的尺寸參數(shù)與預(yù)先保存的多個(gè)參考圖中工件的尺寸參數(shù)進(jìn)行比對(duì);將多個(gè)參考圖中工件的尺寸參數(shù)與第一檢測(cè)圖中工件的尺寸參數(shù)相匹配的參考圖確定為工件所對(duì)應(yīng)的第一參考圖。
通過根據(jù)尺寸參數(shù)來確定與檢測(cè)圖中工件對(duì)應(yīng)的參考圖,能夠保證相比對(duì)的檢測(cè)圖和參考圖中包含的工件為同種工件,避免因?yàn)閷煌N工件的圖像進(jìn)行比對(duì)而導(dǎo)致輸出無效結(jié)果的問題;不僅如此,尺寸參數(shù)的獲得和比對(duì)都很容易實(shí)現(xiàn),處理效率較高。
在一個(gè)進(jìn)一步的實(shí)施例中,在確定尺寸參數(shù)時(shí),可以確定第一檢測(cè)圖中工件的最小外接矩形(或者,也可以是最大內(nèi)接矩形)的尺寸參數(shù);
并且,在將確定的尺寸參數(shù)與預(yù)先保存的多個(gè)參考圖中工件的尺寸參數(shù)進(jìn)行比對(duì)時(shí),可以將第一檢測(cè)圖中工件的最小外接矩形(或者,也可以是最大內(nèi)接矩形)的尺寸參數(shù)、與多個(gè)檢測(cè)圖中所包含工件的最小外接矩形(或者,也可以是最大內(nèi)接矩形)的尺寸參數(shù)進(jìn)行比較。
這樣,基于最小外接矩形或最大內(nèi)接矩形的尺寸參數(shù)來確定與檢測(cè)圖進(jìn)行比較的參考圖,其處理方式簡單,處理效率較高。
此外,不論是確定與第一檢測(cè)圖中工件所對(duì)應(yīng)的第一參考圖,還是將檢測(cè)圖與參考圖進(jìn)行相減,都需要保證檢測(cè)圖和參考圖中的每一個(gè)所包含的工件數(shù)量為一個(gè),否則將導(dǎo)致檢測(cè)過程出現(xiàn)錯(cuò)誤。在一個(gè)實(shí)施例中,在確定第一檢測(cè)圖中工件的尺寸參數(shù)之前(即,在根據(jù)尺寸參數(shù)確定與第一檢測(cè)圖進(jìn)行比對(duì)的第一參考圖之前),根據(jù)本發(fā)明的工件檢測(cè)方法可以進(jìn)一步包括:
確定第一檢測(cè)圖和多個(gè)參考圖中的每一個(gè)所包含的工件數(shù)量;
在第一檢測(cè)圖所包含的工件數(shù)量或所確定的參考圖所包含的工件數(shù)量為多個(gè)的情況下,停止后續(xù)處理。
通過預(yù)先確定檢測(cè)圖和參考圖中所包含工件的數(shù)量,并在工件數(shù)量多于一個(gè)的情況下停止后續(xù)處理(包括確定尺寸參數(shù)、抽樣、旋轉(zhuǎn)等),能夠預(yù)先發(fā)現(xiàn)圖像中所包含工件的數(shù)量是否滿足要求,避免因?yàn)閷鄠€(gè)工件的圖像進(jìn)行后續(xù)的旋轉(zhuǎn)、比對(duì)等處理而造成處理出現(xiàn)錯(cuò)誤的問題。
此外,由于第一檢測(cè)圖中工件所在的位置與第一參考圖中工件所在的位置可能不同,兩者在位置上存在差異,這樣就可能影響到后續(xù)通過執(zhí)行相減操作確定角度偏差值的準(zhǔn)確性。為了確定并消除這種位置差異,在一個(gè)實(shí)施例中,在對(duì)第一檢測(cè)圖進(jìn)行旋轉(zhuǎn)之前,根據(jù)本發(fā)明的工件檢測(cè)方法進(jìn)一步包括:
基于第一檢測(cè)圖建立第一坐標(biāo)系,并基于第一參考圖建立第二坐標(biāo)系,第一檢測(cè)圖和第一參考圖與各自坐標(biāo)系中原點(diǎn)的相對(duì)位置關(guān)系相同;例如,該步驟可以理解為,基于第一檢測(cè)圖建立一個(gè)坐標(biāo)系,第一檢測(cè)圖的左下角位于坐標(biāo)系的原點(diǎn)位置,基于第一參考圖也建立一個(gè)坐標(biāo)系,第一參考圖的左下角同樣位于該坐標(biāo)系的原點(diǎn)位置;
確定第一檢測(cè)圖中工件的質(zhì)心在第一坐標(biāo)系中的位置作為第一位置,并確定第一參考圖中工件的質(zhì)心在第二坐標(biāo)系中的位置作為第二位置;
根據(jù)第一位置和第二位置之間的位置差確定平移量,并根據(jù)平移量對(duì)第一檢測(cè)圖進(jìn)行平移,使第一檢測(cè)圖中工件的質(zhì)心在第一坐標(biāo)系中的第一位置與第一參考圖中工件的質(zhì)心在第二坐標(biāo)系中的第二位置相同。假設(shè)第一坐標(biāo)系中第一檢測(cè)圖中工件的質(zhì)心在第一坐標(biāo)系中的坐標(biāo)位置為(5,5),而第一參考圖中工件的質(zhì)心在第二坐標(biāo)系中的坐標(biāo)位置為(4,5),則此時(shí)需要對(duì)第一檢測(cè)圖進(jìn)行平移,使得第一檢測(cè)圖中工件的質(zhì)心在第一坐標(biāo)系中所在的坐標(biāo)位置同樣為(4,5)。這樣,在確定第一角度偏差值時(shí),對(duì)于第一檢測(cè)圖執(zhí)行的抽樣、旋轉(zhuǎn)、相減等操作,所基于的都是經(jīng)過平移后的第一檢測(cè)圖。
或者,在另一實(shí)施例中,在確定第一角度偏差值時(shí),也可以先進(jìn)行抽樣得到第二參考圖,之后再對(duì)第二參考圖進(jìn)行平移,最后在進(jìn)行旋轉(zhuǎn)和比對(duì),即,可以將抽樣放在平移之前執(zhí)行。
類似地,在確定第二角度偏差值時(shí),在對(duì)第一檢測(cè)圖進(jìn)行旋轉(zhuǎn)之前,可以先根據(jù)之前確定的平移量對(duì)第一檢測(cè)圖進(jìn)行平移,之后進(jìn)行插值;或者,也可以先對(duì)第一檢測(cè)圖和第一參考圖進(jìn)行插值,之后再對(duì)插值后的第一檢測(cè)圖進(jìn)行平移。
通過確定檢測(cè)圖和參考圖中工件的質(zhì)心位置并對(duì)檢測(cè)圖進(jìn)行平移,不僅能夠確定檢測(cè)圖中工件的位置是否存在偏差以及偏差的大小(平移量),而且能夠讓后續(xù)的圖像旋轉(zhuǎn)和相減操作均基于質(zhì)心處于相同位置的工件執(zhí)行,從而讓圖像的相減結(jié)果更加準(zhǔn)確地反應(yīng)檢測(cè)圖與參考圖之間的角度差異,提高檢測(cè)的精確度。
此外,根據(jù)本發(fā)明的一個(gè)實(shí)施例,在得到平移量和第二角度偏差值之后,可以根據(jù)平移量和/或第二角度偏差值,對(duì)第一檢測(cè)圖進(jìn)行旋轉(zhuǎn)和平移,將經(jīng)旋轉(zhuǎn)和/或平移后的第一檢測(cè)圖與第一參考圖進(jìn)行比對(duì),確定第一檢測(cè)圖中工件的質(zhì)量。不僅如此,還可以根據(jù)平移量和/或第二角度偏差值拾取工件。
通過確定平移量和第二角度偏差值,能夠?yàn)楹罄m(xù)對(duì)于工件表面、工件材質(zhì)、工件外形等質(zhì)量檢測(cè)提供幫助,而且還能夠?yàn)楣ぜ膴A持和輸送提供有效的位置參照。
此外,為了提高第二角度偏差值的精確度,根據(jù)本發(fā)明的實(shí)施例,在對(duì)第一檢測(cè)圖進(jìn)行多次旋轉(zhuǎn)之前,可以對(duì)第一檢測(cè)圖和第一參考圖進(jìn)行插值。
這樣,能夠更加準(zhǔn)確地確定不同角度下第一檢測(cè)圖與第一參考圖之間的差,從而讓確定的第二角度偏差值更加精確。
在一個(gè)實(shí)施例中,在插值的過程中,可以通過亞像素邊緣定位方法對(duì)第一檢測(cè)圖和第一參考圖中工件的邊緣進(jìn)行定位,并根據(jù)定位的邊緣進(jìn)行插值。這樣,能夠提高檢測(cè)結(jié)果的精確度,使精確度達(dá)到亞像素級(jí)別。
在其他實(shí)施例中,在進(jìn)行插值時(shí),也可以采用其他插值算法,例如,可以用其他的亞像素取邊緣的計(jì)算方法進(jìn)行替代,也可以采用非亞像素級(jí)別的插值方法。
此外,可選地,上述第一檢測(cè)圖和第一參考圖均為二值化處理后的圖像。也就是說,在旋轉(zhuǎn)、抽樣、相減等操作過程中,所采用的圖像都是二值圖,由于二值圖像已經(jīng)排除了因?yàn)樵肼?、光線等干擾因素對(duì)圖像質(zhì)量所造成的不良影響,從而能夠提高檢測(cè)的精確度,同時(shí)二值圖的內(nèi)容更加簡單,所以還能夠減少計(jì)算量。
圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的工件檢測(cè)方法的流程圖,其中示出了采用本發(fā)明的工件檢測(cè)方法對(duì)工件進(jìn)行檢測(cè)的一種具體過程。
如圖2所示,其步驟如下:
參考圖標(biāo)定過程:
對(duì)參考圖中工件目標(biāo)個(gè)數(shù)進(jìn)行識(shí)別,如果工件個(gè)數(shù)為1個(gè),就取最小外接矩形,記錄工件面積、長寬、質(zhì)心坐標(biāo)以及工件原圖;如果工件數(shù)量大于或等于2個(gè)、或者為0,均進(jìn)行報(bào)錯(cuò);例如,參見圖3,對(duì)于圖中所示的圓形工件,如果識(shí)別黑色區(qū)域的連通域個(gè)數(shù)為1,則記錄工件面積、長寬、質(zhì)心坐標(biāo)以及工件原圖。
檢測(cè)圖定位過程:
首先,對(duì)于檢測(cè)圖,識(shí)別工件個(gè)數(shù);
接下來,進(jìn)行二值化處理,得到二值圖(與圖3的形式類似,同樣是黑白圖),并根據(jù)參考圖標(biāo)定過程獲得的面積等參數(shù),對(duì)定位目標(biāo)進(jìn)行匹配識(shí)別,如果兩者的面積、長度、寬度等差距在一定范圍內(nèi),則認(rèn)為檢測(cè)圖與參考圖已經(jīng)匹配;
之后,找到匹配工件(即,找到與檢測(cè)圖中工件對(duì)應(yīng)的參考圖)并計(jì)算工件的質(zhì)心坐標(biāo),與參考圖的質(zhì)心坐標(biāo)進(jìn)行對(duì)比,獲得質(zhì)心坐標(biāo)的平移量;
比對(duì)過程:
首先,將檢測(cè)圖進(jìn)行平移,使檢測(cè)圖和參考圖中工件的質(zhì)心位于同一位置后,對(duì)檢測(cè)圖和檢測(cè)圖都進(jìn)行抽樣;
之后,對(duì)抽樣后的檢測(cè)圖進(jìn)行旋轉(zhuǎn),每次旋轉(zhuǎn)1°,然后與抽樣后的參考圖進(jìn)行相減,統(tǒng)計(jì)白點(diǎn)個(gè)數(shù)(差異像素點(diǎn));在旋轉(zhuǎn)過程中,隨著旋轉(zhuǎn)操作的不斷進(jìn)行,檢測(cè)圖中工件與參考圖中工件之間的角度偏差越來越小,白點(diǎn)(差異像素點(diǎn))的變化如圖4a至圖4c所示。具體而言,在圖4a中,檢測(cè)圖和參考圖之間的角度偏差較大,所以差異較大,體現(xiàn)在圖a中就是白點(diǎn)的數(shù)量較多;在圖4b中,檢測(cè)圖和參考圖的之間的角度差異正在變小,白點(diǎn)數(shù)量減少(即,白色區(qū)域面積變小);在圖4c中,檢測(cè)圖和參考圖的角度差異在圖4b的基礎(chǔ)上進(jìn)一步變小。最終,圖中應(yīng)當(dāng)幾乎看不到白點(diǎn),白點(diǎn)的數(shù)量達(dá)到最少,此時(shí),獲得當(dāng)前的旋轉(zhuǎn)角度(即,獲得第一角度偏差值);
然后,對(duì)參考圖和檢測(cè)圖進(jìn)行插值,再次進(jìn)行平移(使插值后的參考圖和檢測(cè)圖中工件的質(zhì)心位于同一位置)和旋轉(zhuǎn)的計(jì)算,由于已經(jīng)存在初步的定位結(jié)果(第一角度偏差值),所以旋轉(zhuǎn)過程不用進(jìn)行360°旋轉(zhuǎn),只需要在原有定位基礎(chǔ)上進(jìn)行,大量的節(jié)省了計(jì)算量;具體而言,在初步旋轉(zhuǎn)角度(第一角度偏差值)的±3°內(nèi)旋轉(zhuǎn)插值后的檢測(cè)圖,每次旋轉(zhuǎn)的步長可以設(shè)置的比較小(小于1°),在得到的白點(diǎn)最少時(shí),記錄檢測(cè)圖的旋轉(zhuǎn)角度(第二角度偏差值);
最后,輸出檢測(cè)圖與參考圖之間的平移量和旋轉(zhuǎn)量(第二角度偏差值)。
根據(jù)本發(fā)明的實(shí)施例,還提供了一種工件檢測(cè)裝置。
如圖5所示,根據(jù)本發(fā)明實(shí)施例的工件檢測(cè)裝置包括:
抽樣模塊51,用于對(duì)待檢測(cè)的工件的第一檢測(cè)圖進(jìn)行抽樣,得到第二檢測(cè)圖,并對(duì)所述工件所對(duì)應(yīng)的第一參考圖進(jìn)行抽樣,得到第二參考圖,其中,所述第一檢測(cè)圖由對(duì)所述待檢測(cè)的工件進(jìn)行拍照得到;
第一處理模塊52,用于以預(yù)定的第一角度對(duì)所述第二檢測(cè)圖進(jìn)行多次旋轉(zhuǎn),在每次旋轉(zhuǎn)后,將當(dāng)前旋轉(zhuǎn)后的第二檢測(cè)圖與所述第二參考圖相減,得到差值,直至得到的差值為第一最小差值,將得到所述第一最小差值時(shí)對(duì)所述第二檢測(cè)圖旋轉(zhuǎn)的總角度確定為第一角度偏差值;
范圍確定模塊53,基于所述第一角度偏差值以及預(yù)定的角度誤差,得到旋轉(zhuǎn)角度范圍;
第二處理模塊54,用于在所述旋轉(zhuǎn)角度范圍內(nèi)以第二角度對(duì)所述第一檢測(cè)圖進(jìn)行多次旋轉(zhuǎn),在每次旋轉(zhuǎn)后,將當(dāng)前旋轉(zhuǎn)后的第一檢測(cè)圖與所述第一參考圖相減,得到差值,直至得到的差值為第二最小差值,并將得到所述第二最小差值時(shí)對(duì)所述第一檢測(cè)圖旋轉(zhuǎn)的總角度確定為第二角度偏差值。
此外,在一個(gè)實(shí)施例中,根據(jù)本發(fā)明的工件檢測(cè)裝置可以進(jìn)一步包括:
尺寸比對(duì)模塊(未示出),用于在所述抽樣模塊51對(duì)所述第一檢測(cè)圖和所述第一參考圖進(jìn)行抽樣之前,確定所述第一檢測(cè)圖中工件的尺寸參數(shù),將確定的所述尺寸參數(shù)與預(yù)先保存的多個(gè)參考圖中工件的尺寸參數(shù)進(jìn)行比對(duì);
圖像確定模塊(未示出),用于將所述多個(gè)參考圖中工件的尺寸參數(shù)與所述第一檢測(cè)圖中工件的尺寸參數(shù)相匹配的參考圖確定為所述工件所對(duì)應(yīng)的所述第一參考圖。
通過根據(jù)尺寸參數(shù)來確定與檢測(cè)圖中工件對(duì)應(yīng)的參考圖,能夠保證相比對(duì)的檢測(cè)圖和參考圖中包含的工件為同種工件,避免因?yàn)閷煌N工件的圖像進(jìn)行比對(duì)而導(dǎo)致輸出無效結(jié)果的問題。
此外,在一個(gè)實(shí)施例中,根據(jù)本發(fā)明的工件檢測(cè)裝置可以進(jìn)一步包括:
工件數(shù)量確定模塊(未示出),用于在所述尺寸比對(duì)模塊確定所述第一檢測(cè)圖中所述工件的尺寸參數(shù)之前,確定所述第一檢測(cè)圖和所述多個(gè)參考圖中的每一個(gè)所包含的工件數(shù)量;并且,在所述第一檢測(cè)圖所包含的工件數(shù)量或所確定的所述參考圖所包含的工件數(shù)量為多個(gè)的情況下,通知其他模塊停止后續(xù)處理。
通過預(yù)先確定檢測(cè)圖和參考圖中所包含工件的數(shù)量,并在工件數(shù)量多于一個(gè)的情況下停止后續(xù)處理(包括抽樣、旋轉(zhuǎn)等),能夠預(yù)先發(fā)現(xiàn)圖像中所包含工件的數(shù)量是否滿足要求,避免因?yàn)閷鄠€(gè)工件的圖像進(jìn)行后續(xù)的旋轉(zhuǎn)、比對(duì)等處理而造成處理出現(xiàn)錯(cuò)誤的問題。
此外,在本發(fā)明的一個(gè)實(shí)施例中,所述尺寸比對(duì)模塊用于確定所述第一檢測(cè)圖中工件的最小外接矩形或最大內(nèi)接矩形的尺寸參數(shù),將該矩形的尺寸參數(shù)作為所述第一檢測(cè)圖中所述工件的尺寸參數(shù);并且,所述尺寸比對(duì)模塊還用于將所述第一檢測(cè)圖中所述工件的最小外接矩形或最大內(nèi)接矩形的尺寸參數(shù)、與所述多個(gè)檢測(cè)圖中所包含工件的最小外接矩形或最大內(nèi)接矩形的尺寸參數(shù)進(jìn)行比較。
通過最小外接矩形或最大內(nèi)接矩形的尺寸參數(shù)來確定與檢測(cè)圖進(jìn)行比較的參考圖,其處理方式簡單,處理效率較高。
此外,在本發(fā)明的一個(gè)實(shí)施例中,所述第一處理模塊52還用于在對(duì)所述第一檢測(cè)圖旋轉(zhuǎn)之前,基于所述第一檢測(cè)圖建立第一坐標(biāo)系,并基于所述第一參考圖建立第二坐標(biāo)系,所述第一檢測(cè)圖和所述第一參考圖與各自坐標(biāo)系中原點(diǎn)的相對(duì)位置關(guān)系相同;所述第一處理模塊52進(jìn)一步用于確定所述第一檢測(cè)圖中工件的質(zhì)心在所述第一坐標(biāo)系中的位置作為第一位置,并確定所述第一參考圖中工件的質(zhì)心在所述第二坐標(biāo)系中的位置作為第二位置;以及用于根據(jù)所述第一位置和所述第二位置之間的位置差確定平移量,并根據(jù)所述平移量對(duì)所述第一檢測(cè)圖進(jìn)行平移,使所述第一檢測(cè)圖中工件的質(zhì)心在第一坐標(biāo)系中的第一位置與所述第一參考圖中工件的質(zhì)心在第二坐標(biāo)系中的第二位置相同;
并且,在對(duì)所述第一參考圖進(jìn)行旋轉(zhuǎn)之前,所述第一處理模塊52根據(jù)所述平移量對(duì)所述第一檢測(cè)圖進(jìn)行平移。
通過確定檢測(cè)圖和參考圖中工件的質(zhì)心位置并對(duì)檢測(cè)圖進(jìn)行平移,不僅能夠確定檢測(cè)圖中工件的位置是否存在偏差以及偏差的大小(平移量),而且能夠讓后續(xù)的圖像旋轉(zhuǎn)和相減操作均基于質(zhì)心處于相同位置的工件執(zhí)行,從而讓圖像的相減結(jié)果更加準(zhǔn)確地反應(yīng)檢測(cè)圖與參考圖之間的角度差異。
此外,在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)本發(fā)明的工件檢測(cè)裝置可以進(jìn)一步包括:
質(zhì)量檢測(cè)模塊(未示出),用于根據(jù)所述平移量和/或所述第二角度偏差值,對(duì)所述第一檢測(cè)圖進(jìn)行旋轉(zhuǎn)和平移,將經(jīng)旋轉(zhuǎn)和/或平移后的第一檢測(cè)圖與所述第一參考圖進(jìn)行比對(duì),確定所述第一檢測(cè)圖中所述工件的質(zhì)量;和/或
控制模塊(未示出),用于根據(jù)所述平移量和/或所述第二角度偏差值控制工件拾取設(shè)備(例如,可以是機(jī)器手、吸盤等),以拾取所述工件。
通過平移量和第二角度偏差值,能夠?yàn)楹罄m(xù)對(duì)于工件表面、工件材質(zhì)、工件外形等質(zhì)量檢測(cè)提供幫助,而且還能夠?yàn)楣ぜ氖叭?例如,可以是夾持)和輸送提供有效的位置參照。
此外,在本發(fā)明的一個(gè)實(shí)施例中,所述第二處理模塊54還用于在對(duì)所述第一檢測(cè)圖進(jìn)行多次旋轉(zhuǎn)之前,對(duì)所述第一檢測(cè)圖和所述第一參考圖進(jìn)行插值。能夠更加準(zhǔn)確地確定不同角度下第一檢測(cè)圖與第一參考圖之間的差,從而讓確定的第二角度偏差值更加精確。
可選地,所述第二處理模塊54通過亞像素邊緣定位方法對(duì)所述第一檢測(cè)圖和所述第一參考圖中工件的邊緣進(jìn)行定位,并根據(jù)定位的邊緣進(jìn)行插值。通過采用亞像素邊緣檢測(cè)方法進(jìn)行插值,能夠提高檢測(cè)結(jié)果的精確度,使精確度達(dá)到亞像素級(jí)別。
可選地,上述第一角度大于上述第二角度。這樣,既能夠保證對(duì)抽樣后檢測(cè)圖進(jìn)行旋轉(zhuǎn)的效率,還能夠保證對(duì)未抽樣的檢測(cè)圖進(jìn)行旋轉(zhuǎn)的精度,從而在不影響角度偏差確定結(jié)果精確度的前提下,減少旋轉(zhuǎn)處理所需的計(jì)算量。
此外,可選地,上述第一檢測(cè)圖和所述第一參考圖均為二值化處理后的圖像。這樣,在后續(xù)進(jìn)行抽樣、旋轉(zhuǎn)以及相減等操作時(shí),所基于的圖像已經(jīng)排除了因?yàn)樵肼?、光線等干擾因素對(duì)圖像質(zhì)量所造成的不良影響,從而提高了檢測(cè)的精確度。
綜上所述,借助于本發(fā)明的技術(shù)方案,能夠有效減少運(yùn)算量,節(jié)省了處理時(shí)間,而且運(yùn)算方法簡單,無需復(fù)雜的函數(shù)運(yùn)算;不僅如此,本發(fā)明的方案適用于所有形狀的工件,不論工件的形狀是否復(fù)雜、特征和輪廓是否明顯,相減后的結(jié)果都能夠準(zhǔn)確體現(xiàn)出兩個(gè)圖像之間的差異,而無需借助復(fù)雜的算法來描述工件的形狀以及確定兩個(gè)圖像是否匹配。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。