Я читал о предмете, но не могу понять идею "обычного английского" об использовании и параметрах для HoughCircles
(особенно те, что были после CV_HOUGH_GRADIENT
).
Какой порог аккумулятора? Правильно ли оцениваются 100 голосов?
Я мог найти и "замаскировать" ученика и проделать свой путь через функцию Canny
, но я боюсь за это, и моя проблема - это функция HoughCircles
. Кажется, не удается найти круг Ирис, и я не знаю, почему.
И это функция, над которой я работаю:
def getRadius(area):
r = 1.0
r = math.sqrt(area/3.14)
return (r)
def getIris(frame):
grayImg = cv.CreateImage(cv.GetSize(frame), 8, 1)
cv.CvtColor(frame,grayImg,cv.CV_BGR2GRAY)
cv.Smooth(grayImg,grayImg,cv.CV_GAUSSIAN,9,9)
cv.Canny(grayImg, grayImg, 32, 2)
storage = cv.CreateMat(grayImg.width, 1, cv.CV_32FC3)
minRad = int(getRadius(pupilArea))
circles = cv.HoughCircles(grayImg, storage, cv.CV_HOUGH_GRADIENT, 2, 10,32,200,minRad, minRad*2)
cv.ShowImage("output", grayImg)
while circles:
cv.DrawContours(frame, circles, (0,0,0), (0,0,0), 2)
# this message is never shown, therefore I'm not detecting circles
print "circle!"
circles = circles.h_next()
return (frame)