圓的識別演算法有哪些?

時間 2022-01-06 11:34:01

1樓:Ada

圓的識別在影象處理裡面屬於比較基礎的問題,有很多的演算法都可以用來進行圓的識別,其中比較常用的主要有:

Circular Hough Transform(CHT)

CHT屬於圓的檢測裡面最基本一類演算法,已經存在了好幾十年了,它基於的理論就是任何乙個圓都必須滿足(x-a)^2+(y-b)^2=r^2這個基本公式,其中x、y是圓周點的橫縱座標,r是圓的半徑,在已知半徑的前提下,以圓周點為圓心以該半徑畫圓,那麼所有圓周點畫出來的圓相交的點就是該圓的圓心,知道了圓心又已知了半徑,那麼這個圓就找到了。因此CHT的第乙個步驟是對影象進行邊緣檢測,找到邊緣之後以邊緣所有的點為圓心以已知半徑畫圓,所有畫出來的圓交叉最多的點即定義為圓心,再以該圓心以已知半斤畫圓,那麼整個圓就檢測出來了。

CHT圓識別過程

Randomized Hough Transform(RHT)

由於CHT要對所有的邊緣上的點進行畫圓尋找權重最高的圓心,計算量相當大,而RHT則是對CHT的一種簡化,它基於的假設就是很多的形狀其實不需要所有的邊緣點都參與計算,比如一條直線,只要知道其中的2個點就可以得出來,而乙個圓則只需要知道它上面的3個點就可以畫出來,因此在找到邊緣之後,它會隨機的選擇幾個點,根據這些點找到的圓心畫圓,然後進行若干次迭代來找到在容忍閾值之內的最優的圓。

Randomized Circle detection(RCD)

RCD也是為了避免CHT的高計算量而衍生出來的演算法,它也只選取少量的點來進行計算,通過若干次的迭代來找到相對最優的圓,只是和RHT的計算理念略有不同而已。這裡面有很多人都在研究各種各樣的隨機選點方法,也衍生出了各種隨機圓檢測的叫法。

以上是一些在圓的識別裡面比較常用的演算法,Python影象處理裡面OpenCV也有相關的包可以用來呼叫研究。

2樓:雲時之間

Opencv內部提供了乙個基於Hough變換理論的找圓演算法

題主可以看看:HoughCircle這個包

我就會這些了....

聲紋識別演算法有哪幾種?

卡日曲的狗 一張圖告訴你聲紋識別的演算法有哪些?補充回答 10 11 知名聲紋技術廠商快商通的AI研發中心總監 快商通聲紋研發團隊的核心成員李稀敏博士在一次專訪中闡述過聲紋識別技術的發展過程,其將聲紋聲紋識別技術的發展總結為3個分水嶺 第乙個分水嶺是2000年。在2000年以前,進行聲紋識別驗證,主...

深度學習ocr識別準確率高的演算法是哪些

學而時習 baseline可以是crnn ctc stn酌情加 高階可以global attention ce再高階可以local attention 再高階可以dynamically refine kernel再高階可以multi loss 再高階可以nas 再高階可以gan 以上還只是說的模型結...

OCR文字識別用的是什麼演算法?

鳳舞九天 之前做過兩年多的ocr,這裡簡單寫一下,主要講進入深度學習時代的演算法方案。純粹的OCR主要分兩種,一種是檢測 識別兩階段,還有一種是檢測識別一起端到端來做。據我了解,穩定演算法大多還是基於檢測識別兩階段來做的。鳳舞九天 Ocr 檢測入門演算法 之前兩年多主要是做識別,目前識別,特別是中文...