專利名稱:數字圖像中圓的中心與半徑快速檢測方法
技術領域:
本發明涉及計算機視覺中的圖像特征自動檢測領域,特別是數字圖像中圓的中心 與半徑快速檢測方法。
背景技術:
數字圖像中圓的檢測在物體識別、定位以及攝像機標定等領域有重要應用。長期 以來,數字圖像中進行圓檢測主要是Hough變換的方法與梯度匯聚的方法,兩者的主要問 題是都需要進行大量的運算,導致效率較低,且梯度匯聚的方法僅能檢測出圓的中心,不能 檢測出圓的半徑。針對已有圓檢測方法存在的問題,本發明主要解決數字圖像中圓的中心 與半徑快速檢測問題。
發明內容
本發明針對數字圖像中圓的中心與半徑快速檢測問題,目的是提供一種能夠準確 檢測圖像中圓的中心與半徑的快速方法。為了實現本目的,本發明數字圖像中圓的中心與 半徑的快速檢測方法,包括以下步驟步驟Sl 采集圖像并輸入計算機;步驟S2 利用Carmy邊緣檢測算子計算圖像的邊緣圖;步驟S3 計算圖像中各點的特征圓半徑與特征圓能量,獲得特征圓半徑分布圖與 特征圓能量分布圖;步驟S4 在固定閾值約束下,在特征圓能量分布圖上進行局部極大值檢測;步驟S5 利用特征圓能量與特征圓半徑之比驗證并剔除不合理的局部極大值點;步驟S6 利用所述局部極大值點位置確定圓的中心,利用所述局部極大值點處的 特征圓半徑確定圓的半徑,輸出結果。本發明提供的數字圖像中圓的中心與半徑快速檢測方法,主要利用圖像中邊緣點 到中心點的距離分布(即圓周上各點到圓心的距離等于半徑),首先計算在以各點為中心 的圓形區域內的邊緣點到中心點的距離,并根據各距離出現的頻率確定各點處的特征圓半 徑與特征圓能量,獲得圖像的特征圓半徑分布圖與特征圓能量分布圖,然后固定閾值約束 下在特征圓能量分布圖上進行局部極大值檢測,并剔除不合理的局部極大值點;最后根據 局部極大值點確定圓的中心,根據局部極大值點對應的特征圓半徑確定圓的半徑。本發明 提供的方法不僅能夠準確檢測出圖像中圓的中心與半徑,而且計算效率上優于已有方法。
圖1為本發明數字圖像中圓的中心與半徑快速檢測方法流程圖。圖加為實施例中使用的原始圖像;圖2b為利用Carmy算子在圖加上獲得的邊緣 圖;圖2c、2d分別為本發明提供的方法在圖加上獲得的特征圓半徑分布圖與特征圓能量分 布圖;圖加為本發明提供的方法最終檢測結果。
具體實施例方式如圖1所示為本發明數字圖像中圓的中心與半徑快速檢測方法流程圖,包括采 集圖像并輸入計算機、計算圖像的邊緣圖、計算特征圓半徑分布圖與特征圓能量分布圖、在 特征圓能量分布圖中進行局部極大值點檢測、驗證并剔除不合理的局部極大值點、利用極 大值點及其特征圓半徑分別確定圓的中心與半徑,并輸出結果。各步驟的具體實施細節如 下步驟Sl 采集圖像并輸入計算機。步驟S2 利用Carmy邊緣檢測算子計算圖像的邊緣圖。步驟S3:根據指定的圖像最大圓半徑R,計算圖像中各點的特征圓半徑與特征圓 能量,獲得圖像的特征圓半徑分布圖與特征圓能量分布圖。指定一個整數R(R可根據預檢 測圓的最大半徑設置),對于圖像中任一點X(x,y),考慮以X為圓心R為半徑的圓形區域內 的邊緣點Pi (i = 1,2,...,N) (N為邊緣點的個數),分別計算點X與各邊緣點的距離Cli =
IX-PiI I (i = 1,2,...,N)(四舍五入為整數),統計距離屯出現的次數,將出現頻率最高 的距離定義為點X處的特征圓半徑,記為K(x,y),其相應的出現次數定義為點X處的特征 圓能量,記為E(x,y);計算圖像中各點處特征圓半徑與特征圓能量,可獲得特征圓半徑分 布圖與特征圓能量分布圖。步驟S4 在固定閾值約束下,在特征圓能量分布圖上檢測局部極大值點。記圖像 中任一點X(x,y),該點處的特征圓能量為E(x,y),在閾值T約束下,在特征能量分布圖上檢 測在3X3鄰域內為極大值的點,即滿足如下條件E (X,y) > T,E (X,y) > E (x+1,y+1), E(x, y) > E (x_l,y-1),E(χ, y) > E(x-1, y), E(x, y) > E(x+1, y), E(x, y) >E(x,y_l),E (x,y) > E (x,y+1),E (x,y) > E (x_l,y+1),E (x,y) > E (x+1,y-1);其中,閾值T的具體確定方法為T = Mean (E) +k · Std(E),Mean (E)與Md(E)分 別表示所述特征圓能量分布圖的均值與標準差,比例系數k的取值范圍為2 3。步驟S5 利用特征圓能量與特征圓半徑之比驗證并剔除不合理的局部極大值點。 對于步驟S4獲得的局部極大值點處的特征圓半徑與特征圓能量分別為K(x,y)與E(x,y), 將不滿足條件E(x,y)/K(x, y) > · s的局部極大值點剔除,比例系數s的取值范圍為 0. 5 0. 7。步驟S6 利用局部極大值點位置確定圓心位置,利用局部極大值點位置處的特征 圓半徑確定圓的半徑,輸出結果。對于經過步驟S5后獲得的局部極大值點P(x,y),記點 P(x,y)的特征圓半徑為K(x,y),則可確定圖像中一個中心為P(x,y),半徑為K(x,y)的圓。實施例如圖加所示一幅灰度圖像,圖像大小為587X184,圖像中包含三個大小不同的 圓。下面介紹使用本發明提供的方法檢測圓的中心和半徑的具體實施步驟步驟Sl 采集圖像并輸入計算機。步驟S2 利用Carmy邊緣檢測算子計算圖像的邊緣圖。利用Carmy算子進行邊緣 檢測時的高斯尺度設置為1. 0,進行連接時的高低閾值參數分別設置為0. 3與0. 1,如圖2b 所示為使用Carmy算子對圖加進行邊緣檢測后獲得的邊緣圖。
步驟S3 計算圖像中各點的特征圓半徑與特征圓能量,獲得特征圓半徑分布圖與 特征圓能量分布圖。設置區域半徑R = 50,對于圖像中任意一點X(x,y),考慮X為圓心R 為半徑的圓形區域內的邊緣點Pi (i = 1,2,...,N) (N為邊緣點的個數),分別計算點X與 這些邊緣點的距離Cli = I IX-PiI I (i = 1,2,...,N)(四舍五入為整數),統計距離屯出現 的次數,將出現頻率最高的距離定義為點X處的特征圓半徑,其相應的出現次數定義為點X 處的特征圓能量。計算圖像中各點處的特征圓半徑與特征圓能量,可獲得圖像的特征圓半 徑分布圖與特征圓能量分布圖。如圖2c、2d所示分別為獲得的特征圓半徑分布圖與特征圓 能量分布圖。步驟S4 在固定閾值約束下,在特征圓能量分布圖上檢測局部極大值點。設置比 例系數k = 3,經計算特征能量分布圖的均值與標準差分別為3. 0885與5. 8296,于是取閾 值T = 3. 0885+3 X 5. 8296 = 20. 5733,在特征能量分布圖上檢測大于T且在3 X 3鄰域內為 極大值的點,共計獲得235個局部極大值點。步驟S5 利用特征圓能量與特征圓半徑之比驗證并剔除局部極大值點。設置比例 系數s = 0.5,對于步驟54獲得的235個局部極大值APi (Xi,yi) (i = 1,2,. . .,2;35),將不 滿足條件E(Xi,Yi)/K (xi; Yi) > 2 π . s的局部極大值點剔除,可獲得共計4個局部極大值 點 P1 = (93,92)、P2 = (93,202)、P3 = (93,327)、P4 = (93,466),這 4 個局部極大值點對 應的特征圓半徑分別是T1 = 23、r2 = 30、r3 = 37、r4 = 45。步驟S6 利用局部極大值點位置確定圓的中心,利用局部極大值點對應的特征圓 半徑確定圓的半徑,輸出結果。如圖2e所示為分別以P” P2、P3、P4為圓心,巧、r2、r3、r4為 半徑畫圓作為實施例的最終檢測結果。可以看出,本發明提供的方法能夠準確檢測出圖像中圓的中心與半徑。在計算時 間方面,均采用C++語言進行編程實現,利用本發明提供的方法在實施例圖像上進行檢測 耗時0. lis,而利用Hough變換的方法與梯度匯聚的方法對圖加進行檢測分別耗時3. 80s 與1. 34s,本發明提供的方法在計算效率上優于已有方法。
權利要求
1.一種數字圖像中圓的中心與半徑快速檢測方法,其特征在于,包括步驟步驟Sl 采集圖像并輸入計算機;步驟S2 利用Carmy邊緣檢測算子計算圖像的邊緣圖;步驟S3 計算圖像中各點的特征圓半徑與特征圓能量,獲得特征圓半徑分布圖與特征 圓能量分布圖;步驟S4 在固定閾值約束下,在特征圓能量分布圖上進行局部極大值檢測;步驟S5 利用特征圓能量與特征圓半徑之比驗證并剔除不合理的局部極大值點;步驟S6 利用所述局部極大值點的位置確定圓的中心,利用所述局部極大值點對應的 特征圓半徑確定圓的半徑,輸出結果。
2.根據權利要求1所述的數字圖像中圓的中心與半徑快速檢測方法,其特征在于,所 述步驟S3包括指定一個整數R(R可根據預檢測圓的最大半徑設置),對于圖像中任一點 父&,7),考慮以1為圓心1 為半徑的圓形區域內的邊緣點已(1 = 1,2,... ,N) (N為邊緣點個 數),分別計算點X與各邊緣點的距離Cli = I I X-Pi I (i = 1,2,· · ·,N)(四舍五入為整數), 統計距離Cli的出現次數,將出現頻率最高的距離定義為點X處的特征圓半徑,記為K (X,y), 相應的出現次數定義為點X處的特征圓能量,記為E(X,y);計算圖像中各點處的特征圓半 徑與特征圓能量,可獲得圖像的特征圓半徑分布圖與特征圓能量分布圖。
3.根據權利要求2所述的數字圖像中圓的中心與半徑快速檢測方法,其特征在于,所 述步驟S4包括記圖像中任一點X(x,y),該點處的特征圓能量為E(x,y),在閾值T約束下, 在特征能量分布圖上檢測在3X3鄰域內為極大值的點,即滿足如下條件E (x, y) >T,E(x,y) > E (x+1, y+1), E (χ, y) >E(x_l,y-l),E (χ, y) >E(x-l,y),E(x,y) > E (x+1, y), E (χ, y) > E (χ, y-1),E(χ, y) >E(x,y+l),E(x,y) > E(χ-l, y+1), E(χ, y) >E(x+l,y_l)。
4.根據權利要求3所述的數字圖像中圓的中心與半徑快速檢測方法,其特征在于,所 述步驟S4中閾值T的具體確定方法為=T = Mean (E)+k · Std(E),Mean(E)與Std(E)分別 表示所述特征圓能量分布圖的均值與標準差,比例系數k的取值范圍為2 3。
5.根據權利要求4所述的數字圖像中圓的中心與半徑快速檢測方法,其特征在于,所 述步驟S5驗證并剔除不合理的局部極大值點具體方法為記步驟S4獲得的局部極大值點 處的特征圓半徑與特征圓能量分別為K(x,y)與E(X,y),將不滿足條件E(X,y)/K(X,y) > 2 π · s的局部極大值點剔除,其中比例系數s的取值范圍為0. 5 0. 7。
6.根據權利要求5所述的數字圖像中圓的中心與半徑快速檢測方法,其特征在于,所 述步驟S6確定圓的中心與半徑的具體方法為對于經過步騾S5后獲得的局部極大值點 P (χ,y),記點P (χ,y)的特征圓半徑為K(x,y),則可確定圖像中一個中心為P (x, y),半徑為 K(x,y)的圓。
全文摘要
本發明涉及一種數字圖像中圓的中心與半徑快速檢測方法,包括采集圖像并輸入計算機;計算圖像的邊緣圖;計算特征圓半徑分布圖與特征圓能量分布圖;閾值約束下在特征圓能量分布圖上進行局部極大值點檢測;利用特征圓能量與特征圓半徑之比驗證并剔除不合理的局部極大值點;利用局部極大值點位置及對應的特征圓半徑分別確定圓的中心與半徑,輸出結果。本發明提供的方法能夠準確提取出圖像中圓的中心與半徑,而且在計算效率上優于已有方法。
文檔編號G01B11/08GK102072707SQ20111002152
公開日2011年5月25日 申請日期2011年1月12日 優先權日2011年1月12日
發明者劉紅敏, 王志衡, 許焱平, 賈宗璞 申請人:河南理工大學