專利名稱:基于圓環(huán)匹配的圓心計(jì)算方法
技術(shù)領(lǐng)域:
本發(fā)明涉及物理領(lǐng)域,尤其涉及測量技術(shù),特別涉及機(jī)器視覺領(lǐng)域中測量物體圓心的技術(shù),具體的是一種基于圓環(huán)匹配的圓心計(jì)算方法。
背景技術(shù):
在機(jī)器視覺領(lǐng)域中,有很多尋找圓形物體圓心的應(yīng)用?,F(xiàn)有技術(shù)中,通過計(jì)算圓形區(qū)域像素點(diǎn)的x、y坐標(biāo)并分別求取他們的平均值,從而求得圓形區(qū)域的重心,即圓心。這種方法對圖片的依賴程度太高,需要在圖片中明顯地區(qū)分出圓形區(qū)域,但是由于現(xiàn)場環(huán)境的一些不可控因素,所以難以實(shí)現(xiàn)。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于圓環(huán)匹配的圓心計(jì)算方法,所述的這種基于圓環(huán)匹配的圓心計(jì)算方法要解決現(xiàn)有的機(jī)器視覺技術(shù)中通過計(jì)算圓形區(qū)域像素點(diǎn)坐標(biāo)求圓心的方法不可靠的技術(shù)問題。本發(fā)明的這種基于圓環(huán)匹配的圓心計(jì)算方法,包括一個利用計(jì)算機(jī)對目標(biāo)圖片中圓形區(qū)域進(jìn)行分析的過程,所述的目標(biāo)圖片呈矩形,所述的圓形區(qū)域具有一個已知的半徑,其中,在所述的對目標(biāo)圖片中圓形區(qū)域進(jìn)行分析的過程中,在目標(biāo)圖片上疊加一個正方形的模板,所述的正方形的模板內(nèi)設(shè)置有一個圓環(huán),所述的圓環(huán)的外圓周與模板的四邊相切,圓環(huán)的內(nèi)圓的半徑等于已知的圓形區(qū)域的半徑,將圓環(huán)的內(nèi)圓疊加在目標(biāo)圖片中的圓形區(qū)域上,然后根據(jù)模板的四邊位置在目標(biāo)圖片中設(shè)定待處理圖像的邊緣,然后將模板的中心點(diǎn)移動到待處理圖像中的任意一個像素點(diǎn),以該點(diǎn)為軸心、以水平方向向右為X軸、以逆時針方向?yàn)檎?,將X軸繞軸心旋轉(zhuǎn)360度,在旋轉(zhuǎn)過程中記錄圓環(huán)與目標(biāo)圖片中圓形區(qū)域發(fā)生重合的次數(shù),在旋轉(zhuǎn)過程中記錄圓環(huán)與目標(biāo)圖片中圓形區(qū)域發(fā)生重合的角度的數(shù)目,然后將模板的中心點(diǎn)移動到待處理圖像中的其余像素點(diǎn),以相同的旋轉(zhuǎn)方式記錄所在像素點(diǎn)上圓環(huán)與目標(biāo)圖片中圓形區(qū)域發(fā)生重合的角度的數(shù)目,最后找出發(fā)生重合的角度的最大數(shù)目,以角度最大數(shù)目的重合發(fā)生時、模板的中心點(diǎn)所在的像素點(diǎn)為目標(biāo)圖片中圓形區(qū)域的圓心位置。即在
上每一個角度處查看是否有重合點(diǎn),如有則記為I次,若有多個點(diǎn)也只記錄I次,當(dāng)遍歷完所有角度,有重合點(diǎn)的角度總個數(shù),最后找出發(fā)生重合的最大次數(shù)。進(jìn)一步的,設(shè)模板的寬度和高度均為a,目標(biāo)圖片的高度和寬度分別為w和h,模板在目標(biāo)圖片上的起始移動位置是目標(biāo)圖片上的((a+l)/2,(a+1)/2)像素點(diǎn)坐標(biāo)位置,模板在目標(biāo)圖片上的終點(diǎn)位置是目標(biāo)圖片上的(h-(a-l)/2,w-(a_l)/2)像素點(diǎn)坐標(biāo)位置。進(jìn)一步的,在所述的對目標(biāo)圖片中圓形區(qū)域進(jìn)行分析的過程中,先將目標(biāo)圖片的高度和寬度縮小,然后利用所述的模板的圓環(huán)旋轉(zhuǎn)找到目標(biāo)圖片中圓形區(qū)域的圓心的大致位置,然后根據(jù)縮小圖片中圓心的大致位置,在原始的目標(biāo)圖片中的對應(yīng)位置附近利用模板的圓環(huán)旋轉(zhuǎn)求取更精確的值。
進(jìn)一步的,此算法的時間復(fù)雜度為0(n),復(fù)雜度為線性的。本發(fā)明和已有技術(shù)相比較,其效果是積極和明顯的。本發(fā)明從模板圓環(huán)區(qū)域與目標(biāo)圖片中圓形區(qū)域重合的部分取得圓環(huán)區(qū)域中斷斷續(xù)續(xù)點(diǎn)的集合,以模板圓環(huán)區(qū)域的中心點(diǎn)為這些斷斷續(xù)續(xù)點(diǎn)的集合的中心,通過旋轉(zhuǎn)模板圓環(huán)的過程,記錄像素點(diǎn)在圓環(huán)中出現(xiàn)的次數(shù),以相同方法將模板中心點(diǎn)遍歷目標(biāo)圖片,以像素點(diǎn)在圓環(huán)中出現(xiàn)次數(shù)最多的位置為目標(biāo)圖片中圓形區(qū)域的圓心。本發(fā)明對目標(biāo)圖片的依賴程度低,目標(biāo)圖片無需分出明顯和完整的圓形區(qū)域,適合有干擾物的現(xiàn)場環(huán)境。
圖1是本發(fā)明的基于圓環(huán)匹配的圓心計(jì)算方法中的模板的示意圖。圖2是本發(fā)明的基于圓環(huán)匹配的圓心計(jì)算方法中的模板與目標(biāo)圖片疊加后的示意圖。圖3是本發(fā)明的基于圓環(huán)匹配的圓心計(jì)算方法的一個實(shí)施例中的目標(biāo)圖片。圖4是本發(fā)明的基于圓環(huán)匹配的圓心計(jì)算方法的另一個實(shí)施例中的目標(biāo)圖片。
具體實(shí)施例方式實(shí)施例1
如圖1和圖2所示,本發(fā)明的基于圓環(huán)匹配的圓心計(jì)算方法,包括一個利用計(jì)算機(jī)對目標(biāo)圖片I中圓形區(qū)域2進(jìn)行分析的過程,所述的目標(biāo)圖片I呈矩形,所述的圓形區(qū)域2具有一個已知的半徑,其中,在所述的對目標(biāo)圖片I中圓形區(qū)域2進(jìn)行分析的過程中,在目標(biāo)圖片I上疊加一個正方形的模板3,所述的正方形的模板3內(nèi)設(shè)置有一個圓環(huán)4,所述的圓環(huán)4的外圓周與模板3的四邊相切,圓環(huán)4的內(nèi)圓的半徑等于已知的圓形區(qū)域2的半徑,將圓環(huán)4的內(nèi)圓疊加在目標(biāo)圖片I中的圓形區(qū)域2上,然后根據(jù)模板3的四邊位置在目標(biāo)圖片I中設(shè)定待處理圖像的邊緣,然后將模板3的中心點(diǎn)移動到待處理圖像中的任意一個像素點(diǎn),以該點(diǎn)為軸心、以水平方向向右為X軸、以逆時針方向?yàn)檎?,將X軸繞軸心旋轉(zhuǎn)360度,在旋轉(zhuǎn)過程中記錄圓環(huán)4與目標(biāo)圖片I中圓形區(qū)域2發(fā)生重合的次數(shù),即在
上每一個角度處查看是否有重合點(diǎn),如有則記為I次,若有多個點(diǎn)也只記錄I次,當(dāng)遍歷完所有角度,有重合點(diǎn)的角度總個數(shù),最后找出發(fā)生重合的最大次數(shù),然后將模板3的中心點(diǎn)移動到待處理圖像中的其余全部像素點(diǎn),以相同的旋轉(zhuǎn)方式記錄所在像素點(diǎn)上圓環(huán)4與目標(biāo)圖片I中圓形區(qū)域2發(fā)生重合的次數(shù),最后找出發(fā)生重合的最大次數(shù),以最大次數(shù)的重合發(fā)生時、模板3的中心點(diǎn)所在的像素點(diǎn)為目標(biāo)圖片I中圓形區(qū)域2的圓心位置。具體的,根據(jù)圓形區(qū)域2的已知半徑構(gòu)造出一個指定寬度的圓環(huán)形模板3,這個圓環(huán)形模板3的中間位置的圓正好是圓形區(qū)域2的邊緣。先將原始圖像進(jìn)行取邊緣圖像處理。然后將模板3的中心點(diǎn)移動到目標(biāo)圖片I的某個像素點(diǎn),模板3中圓環(huán)4區(qū)域與目標(biāo)圖片I的像素點(diǎn)產(chǎn)生斷斷續(xù)續(xù)點(diǎn)的集合,以模板3圓環(huán)4區(qū)域的中心點(diǎn)為這些斷斷續(xù)續(xù)點(diǎn)的集合的中心,水平方向向右為X軸,逆時針旋轉(zhuǎn)為正,則X軸繞中心點(diǎn)旋轉(zhuǎn)的角度在(O,360 ),每個角度上可能有多個點(diǎn),只算作I個點(diǎn),計(jì)算出有多少個角度上有點(diǎn),將這個數(shù)目記錄為此中心位置與模板3的吻合的度量,此數(shù)字越大即吻合的越好,當(dāng)移動完整個圖片時,找出數(shù)目最大的那個值,在通過此值找出當(dāng)時模板3所在的中心位置即為圓心的位置。
進(jìn)一步的,設(shè)模板3的寬度和高度均為a,目標(biāo)圖片I的高度和寬度分別為w和h,模板3在目標(biāo)圖片I上的起始移動位置是目標(biāo)圖片I上的((a+l)/2,(a+l)/2)像素點(diǎn)坐標(biāo)位置,模板3在目標(biāo)圖片I上的終點(diǎn)位置是目標(biāo)圖片I上的(h-(a-l)/2,w-(a_l)/2)像素點(diǎn)坐標(biāo)位置。即起始位置時模板3的左上點(diǎn)正好和圖片的左上點(diǎn)重合,終止位置時模板3的右下點(diǎn)和圖片的右下點(diǎn)重合。這樣,一可以避免模板3在其它位置需要將模板3超出目標(biāo)圖片I的部分填充為零,二可以減少大量的不必要的計(jì)算,提高程序執(zhí)行時間。進(jìn)一步的,在所述的對目標(biāo)圖片I中圓形區(qū)域2進(jìn)行分析的過程中,先將目標(biāo)圖片I的高度和寬度縮小,然后利用所述的模板3的圓環(huán)4旋轉(zhuǎn)找到目標(biāo)圖片I中圓形區(qū)域2的圓心的大致位置,然后根據(jù)縮小圖片中圓心的大致位置,在原始的目標(biāo)圖片I中的對應(yīng)位置附近利用模板3的圓環(huán)4旋轉(zhuǎn)求取更精確的值。這樣,可以縮短程序執(zhí)行的時間。如圖3和圖4所示,本發(fā)明的兩個實(shí)施例中的目標(biāo)圖片中的圓形區(qū)域或者不完整或者有干擾物,但是,本發(fā)明的方法仍然可以準(zhǔn)確找到圓心。進(jìn)一步的,此算法的時間復(fù)雜度為0(n),復(fù)雜度為線性的。
權(quán)利要求
1.一種基于圓環(huán)匹配的圓心計(jì)算方法,包括一個利用計(jì)算機(jī)對目標(biāo)圖片中圓形區(qū)域進(jìn)行分析的過程,所述的目標(biāo)圖片呈矩形,所述的圓形區(qū)域具有一個已知的半徑,其特征在于在所述的對目標(biāo)圖片中圓形區(qū)域進(jìn)行分析的過程中,在目標(biāo)圖片上疊加一個正方形的模板,所述的正方形的模板內(nèi)設(shè)置有一個圓環(huán),所述的圓環(huán)的外圓周與模板的四邊相切,圓環(huán)的內(nèi)圓的半徑等于已知的圓形區(qū)域的半徑,將圓環(huán)的內(nèi)圓疊加在目標(biāo)圖片中的圓形區(qū)域上,然后根據(jù)模板的四邊位置在目標(biāo)圖片中設(shè)定待處理圖像的邊緣,然后將模板的中心點(diǎn)移動到待處理圖像中的任意一個像素點(diǎn),以該點(diǎn)為軸心、以水平方向向右為X軸、以逆時針方向?yàn)檎?,將X軸繞軸心旋轉(zhuǎn)360度,在旋轉(zhuǎn)過程中記錄圓環(huán)與目標(biāo)圖片中圓形區(qū)域發(fā)生重合的角度的數(shù)目,然后將模板的中心點(diǎn)移動到待處理圖像中的其余像素點(diǎn),以相同的旋轉(zhuǎn)方式記錄所在像素點(diǎn)上圓環(huán)與目標(biāo)圖片中圓形區(qū)域發(fā)生重合的角度的數(shù)目,最后找出發(fā)生重合的角度的最大數(shù)目,以角度最大數(shù)目的重合發(fā)生時、模板的中心點(diǎn)所在的像素點(diǎn)為目標(biāo)圖片中圓形區(qū)域的圓心位置。
2.如權(quán)利要求1所述的基于圓環(huán)匹配的圓心計(jì)算方法,其特征在于設(shè)模板的寬度和高度均為a,目標(biāo)圖片的高度和寬度分別為w和h,模板在目標(biāo)圖片上的起始移動位置是目標(biāo)圖片上的((a+l)/2,(a+l)/2)像素點(diǎn)坐標(biāo)位置,模板在目標(biāo)圖片上的終點(diǎn)位置是目標(biāo)圖片上的(h-(a_l)/2, w- (a-l)/2)像素點(diǎn)坐標(biāo)位置。
3.如權(quán)利要求1所述的基于圓環(huán)匹配的圓心計(jì)算方法,其特征在于在所述的對目標(biāo)圖片中圓形區(qū)域進(jìn)行分析的過程中,先將目標(biāo)圖片的高度和寬度縮小,然后利用所述的模板的圓環(huán)旋轉(zhuǎn)找到目標(biāo)圖片中圓形區(qū)域的圓心的大致位置,然后根據(jù)縮小圖片中圓心的大致位置,在原始的目標(biāo)圖片中的對應(yīng)位置附近利用模板的圓環(huán)旋轉(zhuǎn)求取更精確的值。
全文摘要
一種基于圓環(huán)匹配的圓心計(jì)算方法,利用計(jì)算機(jī)對目標(biāo)圖片中圓形區(qū)域進(jìn)行分析,圓形區(qū)域具有一個已知的半徑,在目標(biāo)圖片的圓形區(qū)域上疊加一個圓環(huán)形模板,圓環(huán)內(nèi)圓的半徑等于圓形區(qū)域的半徑,將模板的中心點(diǎn)遍歷目標(biāo)圖片中的全部像素點(diǎn),在任意一個像素點(diǎn)上,均以該點(diǎn)為軸心、以水平方向向右為x軸、以逆時針方向?yàn)檎瑢軸繞軸心旋轉(zhuǎn)360度,在旋轉(zhuǎn)過程中記錄圓環(huán)與目標(biāo)圖片中圓形區(qū)域發(fā)生重合的角度的數(shù)目,最后找出發(fā)生重合的角度的最大數(shù)目,以最大數(shù)目發(fā)生時、模板的中心點(diǎn)所在的像素點(diǎn)為目標(biāo)圖片中圓形區(qū)域的圓心位置。本發(fā)明對目標(biāo)圖片的依賴程度低,目標(biāo)圖片無需分出明顯和完整的圓形區(qū)域,適合有干擾物的現(xiàn)場環(huán)境。
文檔編號G06F19/00GK102999681SQ20111027319
公開日2013年3月27日 申請日期2011年9月15日 優(yōu)先權(quán)日2011年9月15日
發(fā)明者田新偉, 曹新 申請人:上海瑞伯德智能系統(tǒng)科技有限公司