前提・実現したいこと
ハフ変換による円形認識をしたいのですが、閾値であるparam=1,param2,minradius,maxradius
の閾値決めがなかなかうまくいきません。
様々なサイトを参考にさせていただいているのですが、param=1
の意味がよく理解できないでいます。
**「CV_HOUGH_GRADIENT の場合は, Canny() エッジ検出器に渡される2つの閾値の内,大きい方の閾値を表す」**と多くのサイトで説明されているのですが、cannyに渡される閾値というのは、cv2.Canny(,,)
の()内に入る数字の大きいほうという意味なのでしょうか。
ご教授いただけると幸いです。よろしくお願いいたします。
###コード
python
1import cv2 2import numpy as np 3import matplotlib.pyplot as plt 4%matplotlib inline 5 6 7img = cv2.imread('42back09944.jpg',0) 8img_ga = cv2.GaussianBlur(img,(5,5),0) 9 10circles = cv2.HoughCircles(img_ga,cv2.HOUGH_GRADIENT,1,20,param1=100,param2=30,minRadius=10,maxRadius=100) 11 12 13if circles != None: 14 circles = np.uint16(np.around(circles)) 15 16 for (x, y, r) in circles[0]: 17 cv2.circle(img, (x, y), r, (0, 255, 0), 2) 18 cv2.circle(img, (x, y), 2, (0, 0, 255), 3) 19 20cv2.imwrite("42circle9944.jpg",img)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/17 06:23
2020/12/17 06:37 編集
2020/12/17 06:47 編集
2020/12/17 06:57 編集
2020/12/17 07:17
2020/12/17 07:54
2020/12/17 08:02 編集
2020/12/17 08:08
2020/12/17 08:14