基于安卓系统的色盲辨色软件设计

2014-07-27 06:22孙养龙邓计才于广游周倩倩
创新科技 2014年6期
关键词:色盲分量矫正

孙养龙 邓计才 于广游 周倩倩

(郑州大学信息工程学院,河南 郑州 450001)

基于安卓系统的色盲辨色软件设计

孙养龙 邓计才 于广游 周倩倩

(郑州大学信息工程学院,河南 郑州 450001)

色盲人群的色彩分辨能力低于正常人,论文在分析H分量旋转色盲矫正方法的基础上,开发出了具有色盲模拟、色盲检测和色盲矫正功能的实时视频图像处理系统,并在android系统移动终端上设计出了相应的应用软件,经实际测试,该系统运行稳定,实时性好,可以帮助色盲色弱人群提高对色彩的分辨能力。

H分量旋转;色盲仿真;色盲检测;色盲矫正

1 引言

色盲又称色觉辨认障碍,由视网膜上传递颜色信息的感光锥体细胞异常或不全引起。色盲人群中,红绿色盲最为常见,在男性和女性中的比例分别为8%和0.5%。目前对色盲的治疗以矫正辅助为主。其中,在三通道色觉模型[1]基础上利用图像处理来辅助色盲色彩识别的方法,在安全性和可行性方面较其他方法具有明显的优势。

随着电子信息技术的发展,研究人员将电子信息处理技术应用于色彩检测提出了基于ARM系统的色盲矫正设计方案[2],该方案采用基于图像几何变换映射的色盲矫正方法[3],可有效改善色盲患者区分颜色的能力,但实用性不强。本文分析了经典色盲矫正算法的原理,在现有工作的基础上,采用H分量旋转算法[4],开发出了可以运行在手机等移动终端的安卓应用软件,其开发和应用成本低,更加贴近实用。

2 理论分析

2.1 色盲仿真模型

研究表明,正常人眼睛含三种锥体细胞,即L(短波类型)、S(中波类型)、M(长波类型),它们构成了人眼LMS空间模型。LMS空间和RGB空间的位置关系如图1所示,其中箭头方向(沿着L轴)为红色盲的投影方向。沿L轴方向的颜色被投影到同一点,出现该方向上颜色的重叠和混淆,而红色和绿色恰在此方向上,所以红色盲不能分辨红绿。同理,对于绿色盲,M轴为投影轴,导致颜色重叠混淆于R=G的平面上[5][6],因此绿色盲同样不能辨别红和绿;对于蓝色盲,其投影轴和投影平面分别为S轴和B= G平面,最终造成蓝色盲在分辨蓝和绿上存在障碍。

图 1 红色盲色彩空间转换图

2.2 色盲矫正原理

从色盲仿真模型可知,颜色立方体中的颜色沿着某一方向投影到色盲颜色面上,在此方向上颜色的种类和多少,决定了色盲的类型和程度。H分量旋转法通过旋转H分量,达到以颜色立方体中黑白两点间连线为轴旋转立方体的目的,旋转的结果使得大多数颜色不出现在同一投影方向上,从而使这些颜色能够被很好地区分开。为此需要找到合适的旋转角度。

实验表明,对于容易混淆红色和绿色的红绿色盲,当对图像的H分量旋转120度时,可获得最优的矫正图像。因为在HSV颜色空间模型中,H分量旋转120度后,红色变换到绿色,绿色变换到蓝色,而在色盲模型中,绿色和蓝色在红、绿色盲颜色面上的距离最大,所以矫正后图像中相应的颜色信息会清楚的显现出来。对蓝色盲的矫正也是同理。

3 软件开发

软件的开发需要在PC机上完成,然后再移植到安卓系统上。本软件的开发过程包括:开发环境搭建,结构设计和算法实现。

3.1 开发环境搭建

所需要的软件安装包有JDK,eclipse,Android SDK和NDK,ADT和CDT,OpenCV for android等。其中,JDK是应用最为广泛的Java SDK,属整个Java的核心,包括了运行环境、工具和基础类库;eclipse是基于Java且开放源码的可扩展平台,附带有标准的插件集。根据软件之间的依赖关系,按照一定的顺序安装软件,JDK和eclipse是基本的开发环境,需要先行安装和配置。

3.2 程序结构设计

根据本软件预设的功能及对视频图像的处理方法,设计了如图2所示的程序结构图。在对视频图像进行变换前,先完成对所获图像的预处理,以提高后期处理的速度和效果。预处理后的图像分别用于正常视频显示、色盲模拟处理和色盲矫正处理。最终通过软件界面上的切换按钮,分时显示不同处理结果的视频图像。

图2 程序结构图

3.3 算法实现

3.3.1 色盲模拟实现

通过对图像数据进行矩阵运算,可获得在不改变图像整体亮度和布局情况下的校正图像。以红色盲为例,模拟过程如图3所示,包括:数学模型转换,颜色通道提取与运算,通道合成和图像显示。

图 3 红色盲模拟程序流程图

进行颜色通道提取时,程序运用opencv的图像容器Mat存储图像数据的方法,将Java程序获得的RGBa格式图像通过数据指针进行。

3.3.2 矫正算法实现

矫正算法的理论基础是H分量旋转,根据该理论,在对图像矩阵的实际处理过程中要经历如图4的变换过程。

图 4 矫正算法实现框图

图4中H通道的数据矩阵加60,是因为在opencv中,对通道的赋值范围是0~255,其中H通道元素的值以180为周期,即250所对应颜色与70所对应颜色等价,理论中需要做的120度旋转,在程序中只需要转过60度。经测试发现,对图像进行H分量旋转120度等效于RGB格式的图像转换为BRG格式的图像,通过此方法可有效提高程序的运算速度。

4 结果分析

基于上述程序结构和矫正算法,采用java及opencv相结合设计开发了颜色识别矫正系统软件,并在手机上进行了测试,该手机系统为Andriod2.3,CPU型号为高通骁龙Snapdragon MSM8260,800万像素CMOS摄像头,视频图像分辨率为720P(1280×720,30帧/秒)。图5展示了该软件运行的工作界面。软件打开,首先获取到的是正常视频图像,触摸菜单键后,在当前窗口的下方有正常、辅助和仿真三个一级菜单,选择辅助模式后,即可获得进行H分量旋转之后的实时图像;选择仿真模式,会在当前窗口的中央弹出一个包含三个选项的二级菜单,在此可以选择红色、绿色和蓝色三种色盲模式并获得实时视频图像。

图 5 软件使用界面

图 6 色盲检测图实验结果

(因出版印刷原因,对图中数字进行了处理,原图请访问:http://t.cn/8sPYFuG)

图6中三幅图像展示了本软件对色盲检测图的处理效果。从图①和图②对比可以发现,色盲模拟中红色盲效果非常明显,正常情况下可以分辨出数字“26”,在经过色盲模拟处理之后数字“2”几乎无法分辨。色盲矫正算法对图像的处理结果如图③所示,可以发现图像较原图①有明显的变化,红色盲原本不能分辨出的数字2得到清晰显示。实验结果表明,当我们面对需要分辨不同颜色的情景时,通过该软件可以达到很好的分辨效果。

5 总结

本文通过基于H分量旋转的色盲矫正算法,开发出可高效运行于手机移动终端的安装软件。并对H分量的旋转方法进行了改进,提高了算法执行的速度。软件所采用的H分量旋转算法对红、绿、蓝三种色盲均具有一定的矫正作用,增强了色盲患者对颜色的分辨能力,使其看到原图像中看不到的信息。但算法本身是通过降低低频颜色分辨率换取高频颜色的分辨率,因此在处理颜色种类多且分布均匀的图像时不能获得最佳矫正效果。本文接下来的工作,是研究获得针对不同图像和色盲种类最佳H分量旋转角度的方法,同时开发可佩戴的色盲辅助设备。

[1]Martin CE,Keller JG,Rogers SK,et al.Color blindness and a color human visual system model[J].IEEE Transactions on Systems,Man and Cybernetics-Part A:Systems and Humans,2000,30:494-500.

[2]王恩,马煜,汪源源.嵌入式色盲图像处理系统设计[J].中国医疗器械杂志,2011,1:45-49.

[3]王恩,马煜,汪源源.基于图像几何变换映射的色盲矫正方法[J].生物医学工程学进展,2011,32(2):63-67.

[4]鲍吉斌,汪源源,马煌等.基于H分量旋转的色盲矫正方法[J].生物医学工程学进展,2008(3):125-130.

[5]Brettel H,Vienot F,Mollon JD.Computerized simulation of color appearance for dichromats[J].Journal of Optical Society of Americal.1997,14:2647-2655

[6]Vienot F,Brettel H,Mollon JD.Digital video colourmaps for checking the legibility of displays by dichromats[J].Color Re⁃seach and Application.1999,24:243-252

R774.1+4

B

1671-0037(2014)03-54-2

孙养龙(1988-)男,在读硕士研究生,研究方向:嵌入式系统。

猜你喜欢
色盲分量矫正
你我皆色盲
画里有话
色盲是怎么回事
宽带发射机IQ不平衡的矫正方法
一斤生漆的“分量”——“漆农”刘照元的平常生活
一物千斤
探索社区矫正队建制“江西模式”
攻心治本开展社区矫正
论《哈姆雷特》中良心的分量
小黄真的是色盲吗?