hackersun 发表于 2007-10-30 16:58

如何高效的提取得到瞳孔边缘

我从摄像头的视频流中获得瞳孔图像(如附件所示),如何精确快速的获得瞳孔的大小?
望各位大虾不吝赐教!!

eight 发表于 2007-10-30 17:04

试试 edge 吧

[ 本帖最后由 ChaChing 于 2009-12-22 00:03 编辑 ]

花如月 发表于 2007-10-30 18:50

回复 #1 hackersun 的帖子

瞳孔和周围的灰度差别不是很明显,如果只是为了求瞳孔大小。
建议求瞳仁的大小(灰度差很明显,容易分割),然后根据先验经验进行推算下

xjzuo 发表于 2007-10-31 21:56

这个问题并不是一个简单问题, 自己应该多想想:
1. 简单处理, 用imdilate, edge结果如下:


2.自己编个大点的程序(图片已经处理,以便定位瞳孔),结果如下:

半径加大一些:

花如月 发表于 2007-10-31 22:02

瞳孔不是整个大黑点?
对眼部结构不了解:@L

xjzuo 发表于 2007-10-31 22:07

那后面两个就当作是更进一步定位的演示吧.(其实“瞳孔”就是那个小孔,“瞳”才是那个大圆)------这个难度也是较高的部分,用的是圆拟合,
当然也可以用椭圆拟合,一般结合Hough变换的较多。

[ 本帖最后由 xjzuo 于 2008-2-23 16:00 编辑 ]

hackersun 发表于 2007-11-1 09:19

楼上的可否借鉴您的思想及程序!
我从视频流中每次采集得到的瞳孔数据是动态连续的,15帧/秒,共采集10秒,共得150帧瞳孔数据,我就是想要动态的实现对每一帧图象的瞳孔实现中心定位进而求取瞳孔直径,以及虹膜,应用于相应的领域.

我可以使用中值滤波(medfilt2)实现,但是其需要经验值,且鲁棒性不好.

[ 本帖最后由 ChaChing 于 2009-12-22 00:04 编辑 ]

eight 发表于 2007-11-1 10:00

xjzuo版主已经出了提示,请自行完成。如果还有疑问,请先阅读本版所有置顶帖

[ 本帖最后由 ChaChing 于 2009-12-22 00:05 编辑 ]

xjzuo 发表于 2007-11-1 11:41

中值滤波结合imdilate, edge可以给出一个粗略的办法。动态、实时的话并不是一件容易的事情,因为要求速度必须在可以容忍的范围内,而且精度不能太差,否则会失去意义。这就要自己多想想了。
下面是medfilt2结合imdilate, edge得到图像,作个参考:


hackersun 发表于 2007-11-1 16:30

谢谢各位!我再努力的研究!

请问 xjzuo,imdilate您所使用的参数是多少呢??我使用好几个,但是效果都是不理想!

[ 本帖最后由 ChaChing 于 2009-12-22 00:06 编辑 ]

xjzuo 发表于 2007-11-1 16:44

试试小于0.3,大于0.2.

hackersun 发表于 2007-11-2 16:59

xjzuo 可否借鉴您的成果(程序),我需要用MATLAB实现视频流的播放瞳孔的提取,目前已基本实现视频流播放,但是就是无法精确获得瞳孔!

eight 发表于 2007-11-2 18:33

请根据大家的提示完成,至于别人的程序,如果不是人家自愿的话最好不要开口问

[ 本帖最后由 ChaChing 于 2009-12-22 00:07 编辑 ]
页: [1]
查看完整版本: 如何高效的提取得到瞳孔边缘