matlab静脉识别,静脉图像识别1-预处理

最近学习到的静脉图像识别方法,大致做一下整理。

背景:

类似指纹识别,实现静脉识别。

目的:通过红外线图,得到血管细线图,以下程序是未完成代码截图,先做整理。​

识别方法A:

a4c26d1e5885305701be709a3d33442f.png

​其中,线性拉伸(imadjust(HD,[0.3

0.6],[]);)目的为提高对比度,经过实验,取0.3-0.6的值进行拉伸,效果最佳。直方图均衡也是增强对比度的一种方法,经过实验,效果不如线性拉伸,因此忽视。

为了更好的边缘提取,使用高斯滤波进行去噪。

Niblack算法基于图像的局部均值和标准差计算阈值,像素(x,y)处阈值T(x,y)=m(x,y)+k*s(x,y)

其中m(x,y)与s(x,y)分别是以(x,y)为中心邻域(邻域常用15*15)的均值和标准差,k为修正系数可取-0.1;经过实验,发现r取50,k取-0.2效果较好。

该算法是静脉图像识别中常用的二值化算法,也曾尝试matlab中提供的其他边缘提取的算法,效果不如该算法,但在matlab中该算法运行速度较慢,需改进代码或直接使用C++实现该算法。

图像二值化算法,该网页提供了另外几种方法,有时间尝试。http://blog.csdn.net/cxf7394373/article/details/6335281​

中值滤波去噪。闭操作可使轮廓线更光滑,消弥狭窄的间断和长细的鸿沟,消除小的空洞,并填补轮廓线中的断裂,用来做图像修补和去除小面积噪声。

余下工作:细化图像,曾尝试细化,但效果不佳,可尝试再做一次闭操作之后细化。

细化后进行特征提取,之后匹配得出结论。

最终得到预处理图像:

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

​识别方法2:

​根据吴薇等2013.10在光学学报发表的文章《基于灰度曲面匹配的快速手掌静脉识别》,提出一种基于灰度曲面匹配的快速手掌静脉识别算法。

大致方法整理如下:

1、​提取感兴趣区域(参考吴薇等2013年在光电子激光

发表的《手掌静脉识别中感兴趣区域的选择与定位研究》)。

2、​将感兴趣区域分成若干个之区域(经过试验8*8子区域效果最佳),计算每个子区域像素灰度平均值作为该子区域的灰度值,以各子区域灰度值构建待匹配图像。

3、两个待匹配灰度曲面中的像素灰度做差,得到灰度曲面差,求该灰度曲面差的方差。

4、用此方差​衡量两张灰度曲面图是否来自同一只手。

该方法在第一步结束后,得到的是一张没有背景的完整的血管图。

a4c26d1e5885305701be709a3d33442f.png

因此,若使用该方法,如何获得感兴趣图片成为重点。

另,根据论文描述,​该算法的正确识别率达到97.94%,且时间仅为0.163ms,值得尝试。

其余有待补充。​

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值