私は主題について読んでいますが、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)