关于在视频中找到学生

non*_*ame 5 c matlab opencv eye-tracking iris-recognition

我现在正致力于眼动追踪项目.在这个项目中,我正在跟踪摄像头视频中的眼睛(分辨率为640X480).

我可以在每一帧中找到并跟踪眼睛,但我需要找到瞳孔.我阅读了很多论文,其中大部分都是用Alan Yuille的可变形模板方法来提取和跟踪眼睛特征.任何人都可以帮助我使用任何语言的代码(matlab/OpenCV)吗?

我尝试过不同的阈值,但由于眼睛区域的分辨率低,它不能很好地工作.我非常感谢在视频中找到瞳孔甚至虹膜的任何帮助.

样本图片

Ani*_*udh 8

您需要做的是将您的网络摄像头转换为近红外摄像头.网上有很多教程.试试这个.

从近红外凸轮拍摄的图像看起来像这样 -

在此输入图像描述

您可以使用OpenCV来达到阈值.

在此输入图像描述

然后使用Erode功能.

在此输入图像描述

在此之后用一些颜色填充图像,将角落作为种子点.

在此输入图像描述

消除孔并反转图像.

在此输入图像描述

使用距离变换到最接近的非零值.

在此输入图像描述

找到max-value的坐标并绘制一个圆.

在此输入图像描述


小智 1

根据跟踪瞳孔的应用程序,我会找到眼睛的边界框,然后找到该框中最暗的像素。

一些伪代码:

box left_location = findlefteye()
box right_location = findrighteye()
image_matrix left = image[left_location]
image_matrix right = image[right_location]
image_matrix average = left + right
pixel min = min(average)
pixel left_pupil = left_location.corner + min
pixel right_pupil = right_location.corner + min
Run Code Online (Sandbox Code Playgroud)