Ich habe über das Thema gelesen, aber kann nicht die Idee in "plain English" über die Verwendung und die Parameter für HoughCircles
(speziell die nach CV_HOUGH_GRADIENT
).Was sind die korrekten Gebrauchs-/Parameterwerte für HoughCircles in OpenCV zur Iriserkennung?
Was ist eine Akkumulatorschwelle? Sind 100 "Stimmen" ein richtiger Wert?
Ich konnte die Pupille finden und "maskieren" und arbeitete mich durch die Canny
Funktion, aber ich bin darüber hinaus kämpfen und mein Problem ist die HoughCircles
Funktion. Es scheint, dass es nicht gelingt, den Kreis der Iris zu finden, und ich weiß nicht warum.
Und dies ist die Funktion arbeite ich an:
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)
Danke fraxel. Ist es das gleiche Verfahren, um die äußere Grenze der Iris zu finden? Wie Sie sehen können, ist mein Problem nicht die Pupille, sondern der äußere Augenring. Ich habe den Schwerpunkt mit der normalen Farbisolierung wie hier zu sehen http://bit.ly/Lqaz4J Ich gebe Ihren Code einen Versuch nach der Rückkehr von der Arbeit =) Danke nochmal. – pctroll
@pctroll - Entschuldigung, ich vermisse deine Frage! Ich habe meine Antwort korrigiert, um das zu tun, wonach Sie suchen :). Sie können wahrscheinlich Ihre Zentroid-Informationen verwenden, um die Kreise besser zu positionieren. – fraxel
@flaxel - danke! Und ja, ich kann das Zentrum besser ausarbeiten. Es ist jedoch sehr interessant, wie die Funktion den Kreis trotz des Rauschens findet (ich habe über Hough Transformation gelesen, aber ich bin sehr visuell und ich hatte Canny und Smooth in umgekehrter Reihenfolge). – pctroll