我有两个图像。在其中一个图像中,我的眼睛位于中心位置,而在另一个图像中,它在左边。我如何找出我的眼睛在左边还是右边?

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

有帮助吗?

解决方案

一个简单的解决方案是尝试使用圆形检测虹膜 霍夫变换.

您可以在那里找到很多材料。仅举几例,这两个FileExchange提交:

其他提示

这听起来像 MATLAB实现的眼动跟踪 这是一个相当流行的研究主题。

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

  1. 您知道第一张图片中眼睛的坐标吗?
  2. 这两个图像之间有什么样的运动?旋转/翻译/缩放/...?
  3. 您希望这是实时的吗?
  4. 图像的分辨率是什么?
  5. 除了您的图像外,图像还会有更多的眼睛吗?

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

查看MATLAB中的NormXcor2函数:http://www.nd.edu/~hpcc/solaris8_usr_local/src/matlab6.1/help/toolbox/images/images/normxcorr2.html

这种技术对于不断的照明变化是可靠的,但是如果眼睛的外观在您从模板中拍摄的图像和正在搜索的图像之间发生显着变化,则将失败。

如果您打算在许多帧中搜索眼睛(例如,网络摄像头的眼睛跟踪),则应查看更强的技术,例如Kalman滤镜或粒子过滤器(又称计算机视觉中的冷凝过滤器)

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

你还应该看看 MATLAB中的眼球检测 ,他们首先检测到眼睛,然后检测到眼球。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top