MATLAB 中的眼睛检测

3

我有两张图片。其中一张图片中,我的眼睛位于中心位置;而在另一张图片中,它位于左侧。我该如何确定我的眼睛是在左边还是右边?

我正在使用MATLAB。是否有相应的函数可以实现这个功能?


2
你能添加一些示例图片吗? - Amro
5个回答

3

2
这听起来像是一个相当流行的研究课题MATLAB实现的眼动追踪。如果您需要更详细的答案,请回答以下问题:
  1. 您是否知道第一幅图像中您的眼睛坐标?
  2. 两个图像之间有什么样的运动?旋转/平移/缩放/...?
  3. 您是否希望实时处理?
  4. 图像的分辨率是多少?
  5. 除了您的眼睛之外,图像中还会有其他眼睛吗?

我不知道坐标。我只想找出来。图像是从网络摄像头捕获的,唯一的运动是眼睛的运动。图像的分辨率为320*240。只会有一个人。 - Nave
1
我看到你已经在这里讨论了眼睛检测问题:http://stackoverflow.com/questions/1526672/matlab-eye-recognition - 这个方法对你没用吗? - Jacob

1

如果您想选择一张图像中的眼睛,可以使用模板匹配在其他图像中找到它(例如,在视频的第一帧中标记它,然后在所有其他帧中找到它)。

看一下Matlab中的normxcor2函数: http://www.nd.edu/~hpcc/solaris8_usr_local/src/matlab6.1/help/toolbox/images/normxcorr2.html

这种技术对于恒定照明变化是稳健的,但如果眼睛在您拍摄模板的图像和您搜索的图像之间发生了显著变化,则会失败。

如果您要在许多帧中搜索眼睛(例如从网络摄像头进行眼动跟踪),则应查看更强大的技术,例如卡尔曼滤波器或粒子滤波器(计算机视觉中的Condensation Filter)。


0

通过使用颜色距离图,可以区分皮肤区域和非皮肤区域,从而非皮肤区域包含虹膜。通过虹膜可以检测到整个眼睛。希望它能够有效。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接