円の検出
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