首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何利用Python和OpenCV检测双目瞳孔

如何利用Python和OpenCV检测双目瞳孔
EN

Stack Overflow用户
提问于 2017-01-04 16:07:01
回答 1查看 2.4K关注 0票数 0

我找到了用于瞳孔检测的用Python和OpenCV进行瞳孔检测代码,它解释了如何检测眼睛瞳孔,但只解释了一只眼睛。我想探测两只眼睛。请告诉我如何从密码中检测出双眼瞳孔。

谢谢

EN

Stack Overflow用户

发布于 2017-01-05 13:14:32

简单地看一下这段代码,它看起来就像找到了两只眼睛,然后只给出了一只眼睛。只需根据需要修改代码,就可以提取找到的两个小块,而不仅仅是一个。第55-72行是将候选池从一些小块(可能的瞳孔)减少到1的地方。

所有这些行:“如果连(等高线) >= n”基本上是说,如果你还有多个水滴,试着剪掉一个。问题是,你想要的是最大的两个,而不是那个。因此,您需要重写那些check语句,这样就可以消除除两个最大的气泡之外的所有所有的情况,然后在它们的每个质心上画圆圈。据我所知,其他任何东西都不需要修改。

下面是一些可能有用的示例代码(未经测试)。我不知道python语法,只是修改了链接文件中的一些内容

代码语言:javascript
运行
复制
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]

这将把你带到你的两个眼珠,然后你将仍然需要添加一个圆圈为每个球的中心。(你需要删除所有的“如果连.”语句,并将它们替换为with语句)

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41468303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档