检测(精确)python中的瞳孔直径(和opencv)

时间:2015-07-27 16:43:56

标签: python opencv detection

也许有人可以帮助我。我试图在图片中获得(或多或少)精确的瞳孔直径。

这是我的代码:

import cv2
import cv2.cv as cv

img = cv2.imread('pupil_still_1.png',0)
ret, thresh = cv2.threshold(img, 50, 255, cv2.THRESH_BINARY)
edges = cv2.Canny(thresh, 100, 200)

cimg=cv2.cvtColor(edges, cv2.COLOR_GRAY2BGR)

circles = cv2.HoughCircles(edges, cv.CV_HOUGH_GRADIENT, 1, 10000, param1 = 50, param2 = 30, minRadius = 0, maxRadius = 0)

for i in circles[0,:]:
    cv2.circle(cimg,(i[0],i[1]),i[2],(0,255,0),2)

#Code to close Window
cv2.imshow('detected Edge',cimg)
cv2.waitKey(0)
cv2.destroyAllWindows()
for i in range (1,5):
    cv2.waitKey(1)

这不是一个非常复杂的代码,它运行得很好。

对不起我想张贴两张照片,但我没有足够的声誉。因此,我将尝试解释正在发生的事情。

正如您所看到的,我在尝试检测圆圈之前正在进行一些图像处理。我可以检测到一个cicle,它也是瞳孔,但不知何故它不合适。检测到的圆圈更加清晰。 似乎HoughCircles在瞳孔内检测到一个较小圆圈的一部分。

我不知道我能做什么。有什么建议可以尝试吗?

编辑: 图片到原始图片 https://oc.fk06.hm.edu/index.php/s/9Y6FExTQVFl04U4 (不是最好的质量,但这是挑战; o))

使用HougheCircle检测图片到转换后的图片 https://oc.fk06.hm.edu/index.php/s/tJk2WiSVPrMSLix

0 个答案:

没有答案