iris检测算法流程
基本原理
如下图,人眼形状是圆形。在图像中找到一个圆,该圆应该有明显的边界(虹膜与眼白)。在该圆周上的各像素平均值与相邻半径的平均值之差达到最大。如下图的外圆。假设其圆心为c, 半径为r。那么半径r+1圆周上的像素平均值与r的像素平均值达到最大。
基本思路是:先遍历圆心位置,再遍历半径,找到相差最大的位置。为了加速,可以用各种方法去快速定位圆心位置。该文章使用阈值+局部最小+粗搜索来缩小范围。找到了该圆心大致范围,再遍历所有找最小。
预处理
I=imcomplement(imfill(imcomplement(I),'holes'));
粗检测
- I < 0.5
- 排除3x3矩阵内的局部最小值
- 排除离各个边缘距离小于最小半径的点
- 对于剩下的点,采用partiald在圆弧上求blur积分
- 最大值即为iris的中心所在的大致位置
细检测 search
- 在粗检测附近找10x10的patch
- 在这个patch内,同样采用partiald在圆弧上求blur积分
- 最

本文详细介绍了人眼检测算法的流程,包括基本原理、预处理、粗检测和细检测search阶段。算法通过寻找图像中边界明显的圆形,并利用像素平均值差异确定虹膜边界。预处理步骤后,通过阈值和局部最小值排除无效区域,粗检测初步定位圆心,细检测进一步精确到虹膜中心和半径。应用了partiald和lineint算法来优化检测过程。
最低0.47元/天 解锁文章
7353

被折叠的 条评论
为什么被折叠?



