當前位置:吉日网官网 - 傳統美德 - OPENCV霍夫圓變換累積圖的實現原理。妳想要什麽分數都可以。

OPENCV霍夫圓變換累積圖的實現原理。妳想要什麽分數都可以。

在這裏,我將告訴妳如何使用類似於標準霍夫變換的技術來檢測圓(這在計算機視覺應用中非常重要)。本文假設您知道霍夫變換是如何工作的,或者您已經理解了本系列的前幾篇文章(霍夫變換)。

參數化

圓可以用三條信息完整地描述:圓心(a,b)和半徑。(中心由兩部分組成,因此共有三部分)

x = a + Rcosθ

y = b + Rsinθ

當θ從0°變化到360°時,會生成壹個半徑為R的完整圓。

因此,利用圓霍夫變換,我們期望找到(x,y,R)的三元組,它們很可能是圖像中的圓。也就是說,我們想要找到三個參數。因此,參數空間是3D的…這意味著如果妳不慢慢來,事情會變得很糟糕。即使您的編程語言使用虛擬內存,內存不足錯誤也是常見的。

所以我們從簡單的開始。

假設R已知

首先,我們假設妳在尋找特定半徑的圓,也就是說,R是已知的。每個圓的方程式是:

x = a + Rcosθ

y = b + Rsinθ

所以,xy空間中的每壹個點都等價於ab空間中的壹個圓(R不是參數,我們已經知道了)。這是因為重新排列方程,我們得到:

a = x 1–rcosθ

b = y 1–rsinθ

對於特定的點(x1,y1)。θ從0度到360度掃描。

所以,事件的流程是這樣的:

加載圖像

檢測邊緣並生成二值圖像

對於每個“邊緣”像素,在ab空間中生成壹個圓

對於ab空間中圓上的每壹點,在累加器單元中進行“投票”

票數較多的單元格為中心

當R未知時

當半徑未知時,最簡單的解決方案就是猜測。假設R = 1,然後運行同樣的算法。然後假設R = 2,再運行壹次。假設R = 3…諸如此類。

R的上限是多少?壹個安全的限制是圖像對角線的長度。圖像上不可能有半徑大於或等於對角線的圓。

  • 上一篇:清明節手抄報包含30個字。
  • 下一篇:山水畫的審美特征
  • copyright 2024吉日网官网