gpt4 book ai didi

python-2.7 - 如何使用 Python 和 OpenCV 检测双眼瞳孔

转载 作者:行者123 更新时间:2023-12-02 17:43:07 24 4
gpt4 key购买 nike

我找到了用于瞳孔检测的 Github 代码 Pupil Detection with Python and OpenCV它解释了如何检测眼睛瞳孔,但只解释了一只眼睛。我想检测两只眼睛。请告诉我如何从代码中检测双眼瞳孔。

谢谢

最佳答案

简要查看该代码,它看起来像是找到了两只眼睛,但只给了你一只眼睛。只需根据需要修改代码以提取两个找到的 blob,而不仅仅是一个。第 55-72 行是将您的候选池从一些 blob(可能的学生)修剪到 1。

所有这些行:“if len(contours) >= n”基本上是在说,如果你还有不止一个 Blob ,试着剪掉一个。问题是,你想要两个最大的 Blob ,而不是一个。因此,您需要重写这些检查语句,以便消除除了两个最大的 Blob 之外的所有 Blob ,然后在它们的每个质心上绘制圆圈。据我所知,没有其他东西需要修改。

这是一些可能有帮助的示例代码(未经测试)。我不知道 python 语法,只是从你的链接文件中修改了一些东西:

while len(contours) > 2:
#find smallest blob and delete it
minArea = 1000000 #this should be the dimensions of your image to be safe
MAindex = 0 #to get the unwanted frame
currentIndex = 0
for cnt in contours:
area = cv2.contourArea(cnt)
if area < minArea:
minArea = area
MAindex = currentIndex
currentIndex = currentIndex + 1

del contours[MAindex] #remove the picture frame contour
del distanceX[MAindex]

这将使您了解您的两个眼睛 Blob ,然后您仍然需要为每个 Blob 中心添加一个圆形绘图。 (你需要删除所有的“if len ...”语句并用这个while语句替换它们)

关于python-2.7 - 如何使用 Python 和 OpenCV 检测双眼瞳孔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41468303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com