嵌入式静脉成像仪设计
2018-06-14刘楠饶晶晶钟卫帅程铁栋
刘楠 饶晶晶 钟卫帅 程铁栋
(江西理工大学电气工程与自动化学院,江西赣州 341000)
静脉穿刺是医学上常用的医疗手段,但具有穿刺困难、失败率高的缺点,给患者带来一定的痛苦。目前,国外已经研发出静脉成像设备[1],由于技术垄断,设备价格昂贵等问题,国内并未普及。因而,引起国内研究者自主研发该产品的兴趣[2]。本文研究重点是应用嵌入式技术,利用机器视觉库并结合硬件,实现非接触式静脉成像功能。
1 静脉成像原理
研究发现静脉中的水、脱氧血红蛋白和氧合血红蛋白在不同波段的光的吸收系数不同。当皮肤组织受到光照时,会产生反射且不同的人反射系数不同。因此,根据吸收系数及反射系数,选用合适波长的红外光LED照射皮肤,用摄像头可采集到明显的静脉图像。
2 硬件设计
根据脱氧血红蛋白对近红外光的吸收系数,选用价格低廉且成像效果好的850nm波长的LED作为红外光源[3];选用普通USB摄像头,用红外LED替代其白光LED,并将其原红外光截止镜头换成白光截止镜头;选择ARM—CortexA9处理器用于后期的移植。
图1 静脉分布图
3 静脉图像的预处理
自制摄像头采集到的是不明显的手背静脉图像,因此需要对该图像做预处理,提取有效部分。预处理流程为:
(1)感兴趣区域提取,可减少处理时间,提高图像精度。通过阈值Z的设定,对图像f(x,y)进行处理:将摄像头采集的256色图像先转化为黑白两色的灰度图像。再调用OpenCV中的Mat函数,完成感兴趣区域提取。
(2)滤波去噪。选用高斯滤波可得到较好的轮廓特征。滤波过程用下式表示:其中,f0指原图像,f指滤波后的图像。再根据方程:调整σ,降低图像噪声。
4 基于OpenCV的静脉图像后处理
软件启动开始检测摄像头是否存在并准备采集图像,当摄像头采集到图像时,程序向软件控制台发送信息。软件接受到图像信息后,创建存储空间,进行图像的二值化、图像增强及归一化处理,并实时显示到软件界面上。基于OpenCV的静脉图像后处理算法工作流程为:(1)摄像头初始化。检测摄像头是否存在,在OpenCV中,调用VideoCapture及isOpened类来实现。(2)图像二值化。采用自适应阈值的方法对图像进行二值化处理。(3)图像增强。完成自适应的二值化后,在 OpenCV 中用直方图均衡增强法对图像进行增强处理,让图像更加平滑,同时不失去其细节。(4)图像归一化。根据矩阵关系式:对图像进行二维缩放,完成归一化。
5 系统移植及效果
选用ARM—Cortex A9处理器,首先移植Linux 系统,然后移植算法:(1)移植 BootLoader,引导 Linux的启动;(2)移植自定义裁剪后的Linux内核;(3)移植文件系统;(4)移植OpenCV库。最终可清晰看到静脉分布如图1。
6 结语
本文以提高静脉穿刺成功率、减轻患者痛苦为初衷,完成了利用嵌入式技术显示手背静脉的设计。实际结果表明,该设计可以实时显示清晰的静脉图像。欲优化设计,可将该算法移植到体积更小的嵌入式平台。
[1]L Wang, G Leedham. Near- and Far-Infrared imaging for vein pattern biometrics[J]. IEEE International Conference on Video & Signal Based Surveillance, 2006: 52.
[2]张晋阳.红外静脉辅助定位系统设计[J].电子测量技术,2007,(30):140-143.
[3]吴微.手掌静脉图像识别技术综述[J].中国图像图形学,2013,(18):1215-1224.