円の検出

2015/8/13

Python2.7.6, OpenCV3.0.0

ハフ変換による円の検出。ハフ変換って何?

circles = cv2.HoughCircles(image, cv2.HOUGH_GRADIENT,
          dp=2, minDist=20, param1=20, param2=20,
          minRadius=6, maxRadius=20 )

imageは2値化してるのが良い

パラメータ
  • dp ・・・ 処理するときに元画像の解像度を落として検出する場合は増やす。
          例えば、1だとそのままの画質で処理して、2だと1/2に縮小して処理するらしい。
  • minDist ・・・ 検出される円と円の最小距離
  • param1 ・・・ 「Cannyのエッジ検出器で用いる二つのしきい値の高い方」らしい。
             低いほどいろんなエッジを検出する
  • param2 ・・・ 中心検出計算時のしきい値。低いほど円じゃないものも検出する
  • minRadius ・・・ 最小半径
  • maxRadius ・・・ 最大半径
返送データ

[ x, y, radius ] のリスト


OpenCV 使ってみた ~4. 円検出編~Add Star
http://sudo-halt.com/post/57578984159/opencv-circle-detect

OpenCV documentation Python: cv2.HoughCircles
http://docs.opencv.org/modules/imgproc/doc/feature_detection.html?highlight=cv2.houghcircles#cv2.HoughCircles

HoughCircles.py -GitHub
https://gist.github.com/vaiorabbit/1034377