本發(fā)明涉及視覺識別技術(shù)領(lǐng)域,特別涉及一種基于輪廓識別球型目標(biāo)物位置的方法。
背景技術(shù):
當(dāng)前目標(biāo)識別的方法可以分為三類:基于表象特征的方法、基于形狀特征的方法、基于表象和形狀特征相結(jié)合的方法?;谛螤钐卣鞯哪繕?biāo)識別方法是當(dāng)前研究的一個熱點,近些年來取得了顯著的進(jìn)展。從傳統(tǒng)的基于傅里葉變換或不變矩等方法,發(fā)展為當(dāng)前大多屬于基于輪廓和骨架兩種形狀描述子的形狀匹配方法。相對于點集,輪廓具有更加豐富的信息,且輪廓不容易受到光照、物體顏色和紋理變化的影響,但是在實際運用過程中,存在大量的噪點,影響輪廓的識別準(zhǔn)確性。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于:克服現(xiàn)有技術(shù)中在實際運用過程中,存在大量的噪點,影響輪廓的識別準(zhǔn)確性的問題。
為了實現(xiàn)上述發(fā)明目的,本發(fā)明提供一種基于輪廓識別球型目標(biāo)物位置的方法,其特征在于,包括以下步驟,
步驟一:獲取目標(biāo)區(qū)域的原始圖像后,根據(jù)所述原始圖像中背景的灰度值,標(biāo)記目標(biāo)圖像區(qū)域;
步驟二:根據(jù)目標(biāo)圖像區(qū)域中各個像素點的坐標(biāo)和灰度值,計算出相應(yīng)的質(zhì)心坐標(biāo),并根據(jù)質(zhì)心坐標(biāo)的計算結(jié)果,計算目標(biāo)圖像區(qū)域的偏心度;
步驟三:以背景的灰度值為二值化閾值,對當(dāng)前幀圖像進(jìn)行二值化處理,經(jīng)二值化處理后,背景為黑色,目標(biāo)圖像區(qū)域的像素點為白色;
步驟四:根據(jù)目標(biāo)圖像區(qū)域的偏心度,對經(jīng)二值化處理的圖像進(jìn)行腐蝕收縮;
步驟五:采用Prewitt算子對二值化后的圖像進(jìn)行輪廓點的檢測,檢測完成后,記白色的像素點為輪廓點,并判斷輪廓點的數(shù)量是否達(dá)到設(shè)定閾值,以確定目標(biāo)圖像區(qū)域是否存在目標(biāo)物,若達(dá)到,繼續(xù)下一步驟,否則,跳轉(zhuǎn)至步驟一,開始處理下一幀圖像;
步驟六:從檢測到的輪廓點之中選取至少三個,用于確定一個圓心坐標(biāo)為(a,b),半徑為r的擬合圓,若滿足條件的輪廓點的個數(shù)達(dá)到目標(biāo)閾值,則所述擬合圓為真實目標(biāo)圓,所述擬合圓的圓心為球型目標(biāo)物的位置,若達(dá)不到目標(biāo)閾值,則將跳轉(zhuǎn)至步驟一,開始處理下一幀圖像;其中,r為所述擬合圓的半徑,n為小于r且大于0的常數(shù)。
根據(jù)一種具體的實施方式,目標(biāo)區(qū)域的圖像采用YUV數(shù)據(jù)輸出格式,并進(jìn)行二值化處理時,提取圖像數(shù)據(jù)的Y值。
根據(jù)一種具體的實施方式,采用以下公式計算公式其中M,N分別表示圖像的行和列,ρ(x,y)為(x,y)坐標(biāo)處的灰度值,質(zhì)心坐標(biāo)為(U0,V0)。
根據(jù)一種具體的實施方式,根據(jù)質(zhì)心坐標(biāo)(U0,V0),將原始圖像劃分為左上子區(qū)域、右上子區(qū)域、左下子區(qū)域和右下子區(qū)域四個子區(qū)域,并且面積分別用S1,S2,S3和S4表示;
先計算和若σ1>1,則偏上,σ1=1,則上下不偏,σ1<1,則偏下,若σ2>1,則偏左,σ2=1,則左右不偏,σ2<1,則偏右;
除σ1=1且σ2=1的情況外,再計算和若σ3>1,則偏左上,σ3<1,則偏右下,若σ4>1,則偏右上,σ4<1,則偏左下;
其中,σ1,σ2,σ3和σ4分別表示相應(yīng)對比方向上的偏心度。
根據(jù)一種具體的實施方式,根據(jù)σ1,σ2,σ3和σ4,分別對相應(yīng)方向上的子區(qū)域進(jìn)行腐蝕收縮。
根據(jù)一種具體的實施方式,分別從左上子區(qū)域、右上子區(qū)域、左下子區(qū)域和右下子區(qū)域中選取至少一個輪廓點,并且所選取的輪廓點中的任意三個組合確定一個圓,將確定的圓的圓心坐標(biāo)平均值作為擬合圓的圓心坐標(biāo),將確定的圓的半徑的平均值作為擬合圓的半徑。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果:本發(fā)明基于輪廓識別球型目標(biāo)物位置的方法,其方法為通過獲取目標(biāo)區(qū)域的原始圖像,標(biāo)記出目標(biāo)圖像區(qū)域,并結(jié)合目標(biāo)圖像區(qū)域的偏心度,然后對二值化處理后的圖像進(jìn)行腐蝕收縮,使得圖像的邊緣對稱,減少了噪點,并且進(jìn)一步采用Prewitt算子檢測輪廓點,再基于輪廓點確定一個擬合圓,當(dāng)與擬合圓圓心的距離在設(shè)定范圍內(nèi)的輪廓點的個數(shù)達(dá)到目標(biāo)閾值,則擬合圓的圓心坐標(biāo)為球型目標(biāo)物的中心位置。本發(fā)明能夠有效地減小噪點的產(chǎn)生,同時運算簡單,輪廓識別的準(zhǔn)確性高。
附圖說明:
圖1是本發(fā)明的流程示意圖;
圖2是本發(fā)明像素點的八鄰域模板示意圖;
圖3是本發(fā)明獲取擬合圓圓心的示意圖。
具體實施方式
下面結(jié)合具體實施方式對本發(fā)明作進(jìn)一步的詳細(xì)描述。但不應(yīng)將此理解為本發(fā)明上述主題的范圍僅限于以下的實施例,凡基于本發(fā)明內(nèi)容所實現(xiàn)的技術(shù)均屬于本發(fā)明的范圍。
如圖1所示的本發(fā)明的流程示意圖;其中,本發(fā)明基于輪廓識別球型目標(biāo)物位置的方法包括六個步驟。
步驟一:獲取目標(biāo)區(qū)域的原始圖像后,根據(jù)所述原始圖像中背景的灰度值,標(biāo)記目標(biāo)圖像區(qū)域。其中,設(shè)定在球型目標(biāo)物所處的位置的一定范圍內(nèi)為目標(biāo)區(qū)域,通過視覺傳感器獲取目標(biāo)區(qū)域的原始圖像。同時球型目標(biāo)物置于目標(biāo)區(qū)域中,能夠與背景明顯地區(qū)分,從而在獲取的原始圖像中,球型目標(biāo)物所在區(qū)域的灰度值與背景的灰度值也具有明顯的對比,因此,根據(jù)原始圖像中背景的灰度值,進(jìn)行灰度值區(qū)分,即可標(biāo)記目標(biāo)圖像區(qū)域。
步驟二:根據(jù)目標(biāo)圖像區(qū)域中各個像素點的坐標(biāo)和灰度值,計算出相應(yīng)的質(zhì)心坐標(biāo),并根據(jù)質(zhì)心坐標(biāo)的計算結(jié)果,計算目標(biāo)圖像區(qū)域的偏心度。
具體的,采用以下公式計算公式其中M,N分別表示圖像的行和列,ρ(x,y)為(x,y)坐標(biāo)處的灰度值,質(zhì)心坐標(biāo)為(U0,V0)。
步驟三:以背景的灰度值為二值化閾值,對當(dāng)前幀圖像進(jìn)行二值化處理,經(jīng)二值化處理后,背景為黑色,目標(biāo)圖像區(qū)域的像素點為白色。其中,當(dāng)像素點的灰度值大于背景的灰度值,則將該像素點的灰度值值設(shè)置為255;當(dāng)像素點的灰度值小于或等于背景的灰度值,則將該像素點的灰度值設(shè)置為0。即經(jīng)二值化處理后,背景為黑色,目標(biāo)圖像區(qū)域的像素點為白色。
步驟四:根據(jù)目標(biāo)圖像區(qū)域的偏心度,對經(jīng)二值化處理的圖像進(jìn)行腐蝕收縮。具體的,首先根據(jù)質(zhì)心坐標(biāo)(U0,V0),將原始圖像劃分為左上子區(qū)域、右上子區(qū)域、左下子區(qū)域和右下子區(qū)域四個子區(qū)域,并且面積分別用S1,S2,S3和S4表示。然后先計算和若σ1>1,則偏上,σ1=1,則上下不偏,σ1<1,則偏下,若σ2>1,則偏左,σ2=1,則左右不偏,σ2<1,則偏右。
除σ1=1且σ2=1,即四個子區(qū)域無偏的情況外,再計算和若σ3>1,則偏左上,σ3<1,則偏右下,若σ4>1,則偏右上,σ4<1,則偏左下。其中,σ1,σ2,σ3和σ4分別表示相應(yīng)對比方向上的偏心度。
在實施時,根據(jù)σ1,σ2,σ3和σ4,分別對相應(yīng)方向上的子區(qū)域進(jìn)行腐蝕收縮,例如則右上子區(qū)域與右下子區(qū)域構(gòu)成的右半?yún)^(qū)域沿質(zhì)心向內(nèi)收縮12%面積。
步驟五:采用Prewitt算子對二值化后的圖像進(jìn)行輪廓點的檢測,檢測完成后,記白色的像素點為輪廓點,并判斷輪廓點的數(shù)量是否達(dá)到設(shè)定閾值,以確定目標(biāo)圖像區(qū)域是否存在目標(biāo)物,若達(dá)到,繼續(xù)下一步驟,否則,跳轉(zhuǎn)至步驟一,開始處理下一幀圖像。其中,結(jié)合圖2所示的像素點的八鄰域模板示意圖;運用Prewitt算子逐行逐列掃描原圖像,當(dāng)前檢測的像素點為八鄰域模板中Z5位置的像素點,通過下列公式:
Gx=(Z7+Z8+Z9)-(Z1+Z2+Z3);
Gy=(Z3+Z6+Z9)-(Z1+Z4+Z7);
Mi,j=|Gx|-|Gy|;
其中,八鄰域模板中Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8和Z9像素點的值為0或1,Mi,j為當(dāng)前檢測像素點的新的值。當(dāng)所有像素點檢測完后,統(tǒng)計白色像素點的數(shù)量,并判斷其數(shù)量是否達(dá)到設(shè)定閾值。
步驟六:從檢測到的輪廓點之中選取至少三個,用于確定一個圓心坐標(biāo)為(a,b),半徑為r的擬合圓,若滿足條件的輪廓點的個數(shù)達(dá)到目標(biāo)閾值,則所述擬合圓為真實目標(biāo)圓,所述擬合圓的圓心為球型目標(biāo)物的位置,若達(dá)不到目標(biāo)閾值,則將跳轉(zhuǎn)至步驟一,開始處理下一幀圖像;其中,r為所述擬合圓的半徑,n為小于r且大于0的常數(shù)。
其中,結(jié)合圖3所示的獲取擬合圓圓心的示意圖;在圖像中建立平面直角坐標(biāo)系,然后,先從檢測到的輪廓點中獲取第一點D1、第二點D2和第三點D3,并且第三點D3分別與第一點和第二點的連線的斜率不相等。即保證第一點D1、第二點D2和第三點D3不在同一條直線上。其中,D1、D2和D3的坐標(biāo)分別為(x1,y1)、(x2,y2)和(x3,y3)。
以第三點D3和第二點D2間連線的中垂線L23與第三點D3和第一點D1間連線的中垂線L13的交點為擬合圓的圓心。
設(shè)L13的直線方程為:y=k1*x+b1,L23的直線方程為:y=k2*x+b2。其中,
那么,將D1與D3之間的中點坐標(biāo)((x1+x3)/2,(y1+y3)/2)代入L13的直線方程,求得
最后,聯(lián)立L13和L23的直線方程,從而確定擬合圓的圓心坐標(biāo)(a,b)和圓的半徑r。即
在實施時,本發(fā)明的目標(biāo)區(qū)域的原始圖像采用YUV數(shù)據(jù)輸出格式,并且在進(jìn)行二值化處理時,通過提取圖像數(shù)據(jù)的Y值,獲取相應(yīng)像素點的灰度值。
本發(fā)明中,n可以是r的四分之一、十分之一等。n的數(shù)值可以采用球型目標(biāo)物的尺寸偏差。
本發(fā)明通過標(biāo)記目標(biāo)圖像區(qū)域,并結(jié)合目標(biāo)圖像區(qū)域的偏心度,然后對二值化處理后的圖像進(jìn)行腐蝕收縮,使得圖像的邊緣對稱,從而減少噪點,而且由于采用Prewitt算子檢測輪廓點,并基于輪廓點確定一個擬合圓,使?jié)M足條件的輪廓點的個數(shù)達(dá)到目標(biāo)閾值,從而提高輪廓的識別準(zhǔn)確性。
本發(fā)明還提供一種實施例,該實施例基于對步驟六的優(yōu)化。具體的,通過分別從左上子區(qū)域、右上子區(qū)域、左下子區(qū)域和右下子區(qū)域中選取至少一個輪廓點,并且所選取的輪廓點中的任意三個組合確定一個圓,將確定的圓的圓心坐標(biāo)平均值作為擬合圓的圓心坐標(biāo),將確定的圓的半徑的平均值作為擬合圓的半徑。本實施例中,通過在不同方向的子區(qū)域選取輪廓點,樣本的質(zhì)量更高,從而提高輪廓的識別準(zhǔn)確性。
上面結(jié)合附圖對本發(fā)明的具體實施方式進(jìn)行了詳細(xì)說明,但本發(fā)明并不限制于上述實施方式,在不脫離本申請的權(quán)利要求的精神和范圍情況下,本領(lǐng)域的技術(shù)人員可以作出各種修改或改型。