基于MATLAB的中科院CASIA库虹膜图像定位与识别预处理系统
本项目是一款专为中国科学院自动化研究所(CASIA)虹膜图像数据库设计的预处理仿真系统。系统集成了图像读取、噪声消除、瞳孔与虹膜边界精准定位以及虹膜特征归一化等核心功能。通过对眼部图像进行精细化处理,该系统能够从复杂的生物特征背景中提取出用于识别的标准化虹膜模板,为后续的特征提取与比对奠定基础,广泛适用于生物识别、身份认证及相关领域的研究与仿真。
功能特性
- 灵活的图像加载机制:内置文件交互界面,支持JPG、BMP、PNG、TIF等格式;在缺少本地样本时,具备自动合成模拟虹膜图像的能力,以便进行逻辑演示。
- 多阶预处理技术:采用中值滤波抑制传感器噪声和眼部睫毛干扰,并通过直方图增强技术强化瞳孔与虹膜之间的对比度。
- 分步式精准定位:结合全局阈值分割、形态学算子、连通域分析以及径向梯度积分操作,分阶段实现瞳孔内圆与巩膜外圆的像素级定位。
- 标准化特征映射:严格遵循Daugman橡胶板模型,将非线性的环形虹膜区域映射为固定尺寸的矩形模板。
- 交互式结果展示:实时显示定位过程、边缘提取效果以及归一化后的极坐标展开图,并同步输出定位坐标参数。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 必备工具箱:Image Processing Toolbox(图像处理工具箱)。
- 操作系统:Windows、Linux 或 macOS。
使用方法
- 启动MATLAB,并将当前工作目录切换至本项目文件夹。
- 运行主程序。
- 在弹出的文件对话框中选择CASIA库中的虹膜图像;若需演示演示模式,点击“取消”即可。
- 观察弹出的可视化界面,查看定位圆圈、边缘掩模图以及最终生成的归一化长方形纹理图。
- 在MATLAB命令行窗口查看输出的内外圆中心坐标与半径数值。
实现逻辑与关键算法分析
1. 图像获取与初始化
系统利用交互式接口读取图像,对于彩色输入自动执行灰度化处理。内置的合成函数模拟了虹膜系统的基本构造,包括背景、纹理、瞳孔、眼睑遮挡及加性噪声,确保了代码在无数据源时的健壮性。
2. 噪声抑制预处理
程序应用5x5窗口的中值滤波算法滤除图像中的椒盐噪声和细小睫毛干扰。随后通过对比度调整函数(imadjust)将像素值映射至新范围,提高后续二值化处理的准确性。
3. 瞳孔(内圆)定位逻辑
- 粗定位:基于瞳孔区域极低灰度的特性,利用自适应阈值的40%作为分割界限,获取二值化图像。通过形态学开运算消除细碎噪点,并填充闭合孔洞。利用连通域特征提取函数定位面积最大的闭合区域,以此作为瞳孔的初步中心和初始半径。
- 精定位:在初定位基础上,系统在小范围内搜索图像梯度变化的极大值。通过计算不同半径下圆周路径的灰度积分差异,模拟Daugman微分算子的核心思想,确定瞳孔的精准边界。
4. 虹膜外边界定位
针对CASIA图像中虹膜与瞳孔近似同心的特点,程序以瞳孔圆心为基准,在特定半径区间(通常为瞳孔半径的2至4倍)内进行搜索。通过计算径向上的灰度对比度(即内外环平均灰度之差),将差值最大的半径判定为虹膜与巩膜的交界线。
5. 掩模与噪声分析
系统利用Canny算子提取图像边缘,并根据已确定的内外圆坐标生成环形逻辑掩模。该掩模用于过滤掉虹膜区域以外的背景干扰,提取出纯净的虹膜边缘图,用以识别眼睑遮挡和睫毛覆盖区域。
6. Daugman橡胶板模型归一化
该模块将环形的虹膜区域从笛卡尔坐标系映射到极坐标系。
- 角度细分:在0到2π弧度内进行512等分。
- 径向采样:在内外圆边界之间进行64等分线性插值。
- 重采样:利用双线性插值算法(interp2)从原始图像矩阵中提取灰度值,生成一个64x512的矩形图像,消除了眼球平移和瞳孔缩放对后续识别的影响。
7. 可视化输出
程序通过四格画布展示处理流,包括原图对比、内外圆叠加标注图、边缘分析图以及最终提取到的极坐标采样模板,实现了算法过程的透明化展示。