MATLAB中的眼睛检测

时间:2009-11-05 12:47:13

标签: matlab image-processing computer-vision

我有两张照片。在其中一个图像中,我的眼睛位于中心位置,而在另一个图像中,它位于左侧。如何判断我的眼睛是左侧还是右侧?

我正在使用MATLAB。这有什么功能吗?

5 个答案:

答案 0 :(得分:3)

一个简单的解决方案是尝试使用循环Hough Transform来检测虹膜。

你可以找到很多材料。仅举几例,这两个fileexchange提交:

答案 1 :(得分:2)

这听起来像Eye tracking implemented in MATLAB这是一个相当受欢迎的研究课题。

如果您想要更详细的答案,请回答以下问题:

  1. 您是否知道第一张图片中眼睛的坐标?
  2. 两张照片之间有什么样的动作?旋转/平移/缩放/...?
  3. 你想要这个是实时的吗?
  4. 图像的分辨率是多少?
  5. 除了你的图像外,是否会有更多的眼睛?

答案 2 :(得分:1)

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

在matlab中查看normxcor2函数: http://www.nd.edu/~hpcc/solaris8_usr_local/src/matlab6.1/help/toolbox/images/normxcorr2.html

此技术对于持续照明更改非常稳健,但如果在拍摄模板的图像与正在搜索的图像之间,眼睛的外观发生显着变化,则此技术会失败。

如果您要在很多帧中搜索眼睛(例如,从网络摄像头进行眼动追踪),那么您应该考虑更强大的技术,例如卡尔曼滤波器或粒子滤波器(也称为计算机视觉中的凝结滤波器) )

答案 3 :(得分:0)

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

答案 4 :(得分:0)

您还应该看看Eye Ball Detection in MATLAB,他们先检测到眼睛,然后检测到了EyeBall。