发明内容
为此,本发明提供一种视网膜图像预处理方法、装置和计算设备,以解决或至少缓解上面存在的问题。
根据本发明的一个方面,提供一种视网膜图像预处理方法,在计算设备中执行,该方法包括:获取视网膜图像,视网膜图像中包括视网膜区域和背景;对视网膜图像进行裁剪,裁剪后的图像中包括圆形的视网膜区域;将裁剪后的图像的尺寸调整为预定尺寸;对预定尺寸的图像进行对比度增强。
可选地,在根据本发明的视网膜图像预处理方法中,对视网膜图像进行裁剪包括:确定视网膜区域的边界;若边界为圆形,则将视网膜图像裁剪为与视网膜区域外接的矩形图像;若边界不为圆形,则确定该边界所对应的圆;将所确定的圆作为掩膜与视网膜图像相乘,得到复原后的视网膜图像,复原后的视网膜图像中包括圆形的视网膜区域;将复原后的视网膜图像裁剪为与圆形的视网膜区域外接的矩形图像。
可选地,在根据本发明的视网膜图像预处理方法中,确定视网膜区域的边界包括:在HSV色彩空间的V通道中确定视网膜区域的边界。
可选地,在根据本发明的视网膜图像预处理方法中,确定该边界所对应的圆包括:采用霍夫变换算法确定该边界所对应的圆的圆心和半径。
可选地,在根据本发明的视网膜图像预处理方法中,将裁剪后的图像调整为预定尺寸的步骤采用图像内插方法。
可选地,在根据本发明的视网膜图像预处理方法中,对预定尺寸的图像进行对比度增强包括:将预定尺寸的图像中各像素的RGB颜色通道的颜色值归一化为0~1之间的数;对于RGB中每一个颜色通道,按照以下公式确定增强后各像素的颜色值:
I1(x,y)=αI0(x,y)-β·I(x,y;δ)+γ
其中,I1(x,y)表示增强后坐标为(x,y)的像素的颜色值,I0(x,y)表示在预定尺寸的图像中坐标为(x,y)的像素的颜色值,I(x,y;δ)表示在预定尺寸的图像中坐标为(x,y)的像素的局部均值,其中,所述局部均值为经模板大小和方差均为δ的高斯滤波所得出。
可选地,在根据本发明的视网膜图像预处理方法中,α=β=4,γ=0.5,δ为10~20之间的任意整数。
可选地,在根据本发明的视网膜图像预处理方法中,在确定增强后各像素的颜色值之后,按照以下公式对小于0或大于1的颜色值进行截断:
其中,I2(x,y)表示截断后坐标为(x,y)的像素的颜色值。
可选地,在根据本发明的视网膜图像预处理方法中,在确定增强后各像素的颜色值之后,还包括:对RGB每一个颜色通道所对应的图像进行形态学腐蚀。
可选地,在根据本发明的视网膜图像预处理方法中,形态学腐蚀采用圆形结构元素,所述圆形结构元素的半径与前述δ相同。
根据本发明的一个方面,提供一种视网膜图像预处理装置,驻留于计算设备中,该装置包括:读取模块,其被配置为适于获取视网膜图像,视网膜图像中包括视网膜区域和背景;裁剪模块,其被配置为适于对视网膜图像进行裁剪,裁剪后的图像中包括圆形的视网膜区域;尺寸调整模块,其被配置为适于将裁剪后的图像尺寸调整为预定尺寸;增强模块,其被配置为适于对预定尺寸的图像进行对比度增强。
根据本发明的一个方面,提供一种计算设备,包括:至少一个处理器;和存储有程序指令的存储器,所述程序指令包括如上所述的视网膜图像预处理装置;其中,处理器被配置为适于根据所述存储器中存储的视网膜图像预处理装置执行如上所述的视网膜图像预处理方法。
根据本发明的一个方面,提供一种存储有程序指令的计算机可读存储介质,所述程序指令包括如上所述的视网膜图像预处理装置;当该计算机可读存储介质中存储的视网膜图像预处理装置被计算设备读取时,所述计算设备可以执行如上所述的视网膜图像预处理方法。
根据本发明的技术方案,在对视网膜图像的预处理中,主要包括裁剪、尺寸调整和对比度增强三部分。本方案可以提高并统一视网膜图像的质量:通过对视网膜图像的裁剪和尺寸调整,可以将视网膜图像标准化,即,保证每一个视网膜图像中均包括圆形的视网膜区域,将不同的视网膜图像调整为相同的预定尺寸,这样可以减少不同视网膜图像之间的差异,从而在后续对视网膜图像进行病变区域分割时,可以适用统一的分析流程和评判标准,并方便进行批量处理。通过增强视网膜图像的对比度,可以突出视网膜区域的细节,消除由于拍照时光照不均、拍摄人员水平不足等因素对视网膜图像质量所造成的负面影响。
具体地,在对视网膜图像进行裁剪时,首先,通过确定视网膜区域的边界来判断图像中的视网膜区域是否为圆形,若是,则直接对视网膜图像进行裁剪;若否,则先将视网膜图像中的视网膜区域修复成圆形,再对视网膜图像进行裁剪,保证了裁剪后的图像中均包括圆形的视网膜区域。随后,采用内插法将裁剪后的图像调整为预定尺寸,统一了图像的大小,同时也保持了与原视网膜图像的匹配,不会造成图像失真。调整尺寸后,图像的尺寸相同,图像中视网膜区域的位置一致(均位于图像正中的位置),从而在后续分割视网膜图像的病变区域时,可以适用统一的分析流程和评判标准,并方便进行批量处理。
具体地,在对预定尺寸的图像进行对比度增强时,首先将各颜色通道的颜色值归一化为0~1之间的数,从而方便后续计算。随后,在计算增强后的颜色值时采用了原颜色值与局部灰度均值相减的思想,其中局部灰度均值由高斯滤波而得出,消除了光照不均对视网膜图像所造成的影响,计算量较小,方便快捷。另外,在根据原颜色值与局部灰度均值相减的思想确定增强后的图像后,会使得视网膜区域的边界部分较亮。本发明的技术方案还采用形态学腐蚀的方法去除增强后的亮边界,形态学腐蚀的参数与前述高斯滤波的参数一致,从而避免了亮边界对后续视网膜图像病变区域分析过程的干扰,同时也不会损失视网膜区域的图像细节。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1A示出了根据本发明一个实施例的图像预处理系统100a的示意图。图1A所示的系统100a包括视网膜图像采集设备110和计算设备200。应当指出,图1A中的系统100a仅是示例性的,在具体的实践情况中,系统100a中可以包括任意数量的视网膜图像采集设备110和计算设备200,本发明对系统100a中所包括的视网膜图像采集设备110和计算设备200的数目不做限制。
视网膜图像采集设备110例如可以是任意型号的眼底照相机,其适于采集视网膜图像;计算设备200可以是诸如PC、笔记本电脑、手机、平板电脑等设备,其适于执行图像预处理任务。在系统100a中,视网膜图像采集设备110与计算设备200在空间上的距离比较近,二者可以以有线或无线的方式完成近距离通信,例如,视网膜图像采集设备110可以通过USB接口、RJ-45接口、BNC接口等与计算设备200建立有线连接,或通过蓝牙、WiFi、ZigBee、IEEE802.11x等协议与计算设备200建立无线连接,本发明对视网膜图像采集设备110与计算设备200之间的连接方式不做限制。计算设备200中驻留有视网膜图像预处理装置300,装置300可以作为一个独立的软件安装于计算设备200中,或者作为一个网页应用驻留于计算设备200的浏览器中,或者仅仅是位于计算设备200的存储器中的一段代码,本发明对装置300在计算设备200中的存在形式不做限制。当视网膜图像采集设备110采集到视网膜图像后,将视网膜图像发送至计算设备200。计算设备200接收该视网膜图像,并由装置300对接收到的视网膜图像进行预处理。根据一种实施例,计算设备200中还包括和视网膜图像分析装置120,其在装置300完成视网膜图像的预处理之后,对预处理后的图像进行分析,分割出视网膜区域中的病变区域。本发明对装置120在计算设备200中的存在形式亦不做限制。
图1B示出了根据本发明一个实施例的图像预处理系统100b的示意图。图1B所示的系统100b包括视网膜图像采集设备110、本地客户端130和计算设备200。应当指出,图1B中的系统100b仅是示例性的,在具体的实践情况中,系统100b中可以包括任意数量的视网膜图像采集设备110、本地客户端130和计算设备200,本发明对系统100b中所包括的视网膜图像采集设备110、本地客户端130和计算设备200的数目不做限制。
视网膜图像采集设备110例如可以是任意型号的眼底照相机,其适于采集视网膜图像;本地客户端130可以是诸如PC、笔记本电脑、手机、平板电脑等设备,其适于接收视网膜图像采集设备110所采集到的视网膜图像,并经由互联网将其发送至计算设备200;计算设备200可以实现为服务器,例如可以是WEB服务器、应用程序服务器等,其适于提供视网膜图像预处理服务。在系统100b中,视网膜图像采集设备110与本地客户端130在空间上的距离比较近,二者可以以有线或无线的方式完成近距离通信;本地客户端130与计算设备200的距离比较远,二者可以以有线或无线的方式经由互联网完成远距离通信。当视网膜图像采集设备110采集到视网膜图像后,将视网膜图像发送至本地客户端130。随后,本地客户端130将接收到的视网膜图像经由互联网发送至计算设备200,计算设备200接收该视网膜图像,并由装置300对接收到的视网膜图像进行预处理,以提高并统一视网膜图像的质量。根据一种实施例,计算设备200中还包括和视网膜图像分析装置120,其在装置300完成视网膜图像的预处理之后,对预处理后的图像进行分析,分割出视网膜区域中的病变区域,并将分割结果返回至本地客户端130。
另外,应当指出,虽然系统100b中将视网膜图像采集设备110和本地客户端130作为两个设备分别示出,但是,本领域技术人员可以意识到,在其他的实施例中,视网膜图像采集设备110和本地客户端130可以集成为一个设备,其同时具备以上所描述的设备110和本地客户端130所具备的所有功能。
图2示出了根据本发明一个实施例的计算设备200的结构图。在基本配置202中,计算设备200典型地包括系统存储器206和一个或者多个中央处理器204。存储器总线208可以用于在中央处理器204和系统存储器206之间的通信。中央处理器204是计算设备200的运算核心和控制核心,其主要功能是解释计算机指令以及处理各种软件中的数据。
取决于期望的配置,中央处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。中央处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与中央处理器204一起使用,或者在一些实现中,存储器控制器218可以是中央处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器206可以包括操作系统220、一个或者多个应用222以及程序数据224。在一些实施方式中,应用222可以布置为在操作系统上利用程序数据224进行操作。应用222在系统存储器中体现为多段程序指令,例如,应用222可以是可执行程序(.exe文件)或网页中的一段JS代码。中央处理器204可以执行这些程序指令从而实现应用222所指示的功能。在本发明中,应用222中包括视网膜图像预处理装置300。视网膜图像预处理装置300是一个由多行代码组成的指令集合,其能够指示中央处理器204执行图像处理的相关操作,从而实现视网膜图像预处理,以提高视网膜图像的质量。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置102经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读存储介质可以包括存储介质和通信介质二者。根据一种实施例,计算机可读存储介质中存储有程序指令,程序指令中包括视网膜图像预处理装置300。当计算机可读存储介质中存储的装置300被计算设备200读取时,计算设备200的中央处理器204可以执行相应的视网膜图像预处理方法,以实现视网膜图像的预处理,提高视网膜图像的质量。
图3示出了根据本发明一个实施例的视网膜图像预处理装置300的结构图。图3是对装置300的功能模块的划分。如图3所示,装置300包括读取模块310、裁剪模块320、尺寸调整模块330和增强模块340。
读取模块310被配置为适于获取视网膜图像,视网膜图像中包括视网膜区域及背景。这里的视网膜图像即为视网膜图像采集设备110所采集到的原始视网膜图像,其一般为彩色图像。视网膜区域即视网膜图像中视网膜所在的区域,背景即视网膜图像中除了视网膜区域以外的区域。例如,如图4A所示,区域410为视网膜区域,区域420为背景。一般来说,在视网膜图像中,视网膜区域的明度比背景的明度高,背景的明度往往较低。对于不同型号的的视网膜图像采集设备110,其所采集到的视网膜图像中视网膜区域的颜色和背景的颜色各有差异。例如,视网膜区域多为橙色,其也可以是其他颜色;背景区域多为黑色,其也可以是其他暗色。本发明对视网膜图像中视网膜区域以及背景的颜色不做限制。
视网膜区域一般为圆形。应当指出,这里所说的“圆形”并不是数学意义上的严格符合某个圆心和半径的规则的圆,而是一个视觉上的抽象的形状概念。实际上,视网膜的形状不是严格的圆,视网膜图像采集设备110拍照所得的视网膜图像中的视网膜区域可能出现轻微的变形和失真,视网膜图像采集设备110的镜头的视野范围可能为不规则的圆形,因此,在视网膜图像中,视网膜区域可能呈现为规则的圆形、轻微变形的圆形、边缘有小块凸起或凹陷的圆形、规则的椭圆形、轻微变形的椭圆形或边缘有小块凸起或凹陷的椭圆形。本发明中,当说明视网膜区域为圆形时,实际上是说视网膜区域在视觉上更贴近一个闭合的完整的圆形,其具体可以是以上所说的任一形状。例如,图4的视网膜区域410实际上是一个右上角有小块凸起的圆形,这里,采用上述对“圆形”的定义,我们也认为视网膜区域410为圆形。
但是,由于视网膜图像采集设备110的型号不同,其硬件参数以及设置情况不同,有时候,视网膜图像中的视网膜区域不是圆形,而是其他形状。例如,图4B所示的视网膜图像包括视网膜区域430和背景440,视网膜区域430实际上是一个圆形被矩形截断所得到的形状,其不是圆形。
视网膜图像采集设备110的型号不同,其硬件参数以及设置情况不同,视网膜图像会呈现不同的形状、不同的像素尺寸;另外,在拍照时,眼底照相机所处的环境各异,光照强度不均匀,不同的视网膜图像会呈现不同的亮度和对比度;此外,操作眼底照相机的工作人员的拍摄水平也存在差异,这些因素均会影响视网膜图像的质量。因此,需要对视网膜图像进行预处理,以提高并统一其质量。
根据一种实施例,读取模块310在获取视网膜图像后,还判断该视网膜图像的尺寸。若视网膜图像的尺寸小于第一阈值,则认为该视网膜图像不清晰,所包含的有效信息过少,质量较差(即使对其进行预处理,也打不到后续分析病变区域的要求),直接将其丢弃,而不再进行后续的图像预处理步骤。根据一种实施例,第一阈值可以设置为1000*1000像素。当然,本领域技术人员根据实际需要也可以将第一阈值设置为其他尺寸,本发明对此不做限制。
读取模块310获取视网膜图像后,由裁剪模块320对视网膜图像进行裁剪,裁剪后的图像中包括圆形的视网膜区域。根据前述对读取模块310的描述,视网膜图像中的视网膜区域不一定是圆形,因此,裁剪模块320在裁剪时需要针对圆形的和非圆形的视网膜区域分别进行处理。
根据一种实施例,裁剪模块320适于按照以下步骤对视网膜图像进行裁剪:
1)确定视网膜区域的边界。
根据一种实施例,在HSV色彩空间的V通道中确定视网膜区域的边界。V通道即明度通道,V通道的取值范围为0~100%,取值越大,明度越大,像素在图像上呈现的越亮。一般来说,在视网膜图像中,视网膜区域的明度比背景的明度高,背景的明度往往较低,即,视网膜区域像素的V值较大,背景像素的V值较小。这样,根据V值的大小对图像做阈值分割,即可确定视网膜区域的边界。
当然,此处通过V通道来确定视网膜区域的边界仅是一种示例性的方法,在其他的实施例中,本领域技术人员可以根据实际情况选用其他色彩空间(例如RGB、Lab等)的其他颜色通道,也可以采用其他的边界检测算法,本发明对选用的颜色通道以及采用的边界检测算法不做限制。
2)若边界为圆形,则将视网膜图像裁剪为与视网膜区域外接的矩形图像。
若边界为圆形,则表明视网膜区域为圆形。这时,直接裁掉视网膜区域周围不含有效信息的背景区域,得到一个与视网膜区域外接的矩形图像。例如,图5A所示的图像即为图4A所示的视网膜图像的裁剪结果。图5A为视网膜区域410的外接矩形,即,图5A的图像边缘与视网膜区域410相切。
3)若边界不为圆形,则:确定该边界所对应的圆;将所确定的圆作为掩膜与视网膜图像相乘,得到复原后的视网膜图像,复原后的视网膜图像中包括圆形的视网膜区域;将复原后的视网膜图像裁剪为与圆形的视网膜区域外接的矩形图像。
若边界不为圆形,则表明视网膜区域不为圆形。这时,需要将视网膜区域恢复成圆形,再对视网膜图像进行裁剪。首先,确定该边界所对应的圆。这里的“圆”指的是数学意义上的规则的圆,其具有确定的圆心和半径。根据一种实施例,采用霍夫变换算法确定该边界所对应的圆的圆心和半径,从而确定该边界所对应的圆。当然,除了霍夫变换之外,在确定该边界所对应的圆时也可以采用其他算法,本发明对此不做限制。随后,将所确定的圆作为掩膜与视网膜图像相乘。掩膜图像可以是与所确定的圆外接的矩形图像,也可以是长度与视网膜图像的长度相等、宽为所确定的圆的直径的图像,本发明对掩膜图像的形状、尺寸不做限制,但是,掩膜图像中必然包括所确定的圆。在掩膜图像所对应的矩阵中,所确定的圆中的像素的值为1,其他部分的值为0。这样,将掩膜矩阵与视网膜图像的V值矩阵相乘之后,可以得到复原后的视网膜图像,复原后的视网膜图像中包括圆形的视网膜区域。随后,将复原后的视网膜图像裁剪为与圆形视网膜区域外接的矩形图像。
图5B示出了图4B所示的视网膜图像的裁剪过程以及裁剪结果。图5B中,(a)为图4B中的视网膜图像。首先,确定视网膜区域的边界,由于其不为圆形,故进一步确定视网膜区域的边界所对应的圆。随后,将所确定的圆作为掩膜,掩膜如图5B中的(b)所示。图5B中,掩膜为长度与视网膜图像的长度相等、宽为所确定的圆的直径的图像。随后,将视网膜图像(a)与掩膜(b)相乘。为了将二者相乘,需要将视网膜图像抽象为一个由所有像素的V值所构成的矩阵,掩膜也抽象为一个由0、1构成的矩阵(圆中的像素的值为1,其他部分的V值为0),由于两个图像的尺寸不同,其抽象出的矩阵的大小也不相同,需要对视网膜图像及掩膜图像中较小的矩阵进行扩展,将较小的图像所对应的矩阵扩展为与较大的图像所对应的矩阵相同,扩展出的部分的值用0代替。扩展后,两个矩阵的大小相同。将两个矩阵的对应位置上的元素相乘,得到复原后的视网膜图像(c),复原后的视网膜图像(c)中包括圆形的视网膜区域,只不过,在这个圆形的视网膜区域中,通过与掩膜(b)相乘所补充出来的圆的部分的V值为0,呈现为黑色;原有的视网膜区域的V值与图(a)中保持不变。随后,对复原后的视网膜图像(c)进行裁剪,裁剪结果如(d)所示,(d)为与复原后的视网膜图像中的圆形视网膜区域外接的矩形图像。
裁剪模块320裁剪所得的图像中,均包括圆形的视网膜区域。
裁剪模块320完成对视网膜图像的裁剪后,尺寸调整模块330将裁剪后的图像的尺寸调整为预定尺寸。预定尺寸可以由本领域技术人员根据实际需要自行设置,例如,预定尺寸可以是1000*1000像素,或者1024*1024像素,等等,本发明对预定尺寸的大小不做限制。图像尺寸的调整方法也有多种,根据一种实施例,采用图像内插方法来调整图像尺寸。图像内插方法包括多种,例如最近邻内插法、双三次内插法等等,本发明对所采用的调整图像尺寸的具体方法不做限制。调整尺寸后,所得的图像尺寸相同,图像中视网膜区域的位置一致(均位于图像正中的位置),从而在后续分割视网膜图像的病变区域时,可以适用统一的分析流程和评判标准,并方便进行批量处理。
尺寸调整模块330将裁剪后的图像调整为预定尺寸后,增强模块340对预定尺寸的图像进行对比度增强。根据一种实施例,增强模块340适于按照以下步骤对预定尺寸的图像进行对比度增强:
1)将预定尺寸的图像中各像素的RGB颜色通道的颜色值归一化为0~1之间的数。
一般来说,每一个像素的RGB颜色值分别用一个8bit的空间存储,相应地,像素的RGB颜色值的取值范围为[0,255]。为了将各通道的颜色值归一化为0~1之间的数,需要将每一个像素的RGB颜色值分别除以255。当然,每个通道的颜色值也可以用其他bit数来存储,例如4bit、16bit等等,相应地,在归一化时需要除以的数值也不同。对于任意bit的存储空间,在归一化各通道的颜色值的时候可以采用以下公式:
其中,p1为归一化后的颜色值,p0为原始颜色值,k为像素的每个通道的颜色值所占用的bit数。
2)对于RGB中每一个颜色通道,按照以下公式确定增强后各像素的颜色值:
I1(x,y)=αI0(x,y)-β·I(x,y;δ)+γ (2)
其中,I1(x,y)表示增强后坐标为(x,y)的像素的颜色值,I0(x,y)表示在预定尺寸的图像中坐标为(x,y)的像素的颜色值,I(x,y;δ)表示在预定尺寸的图像中坐标为(x,y)的像素的局部均值,其中,所述局部均值为经模板大小和方差均为δ的高斯滤波所得出。根据一种实施例,α=β=4,γ=0.5,δ为10~20之间的任意整数。式(2)在计算增强后的颜色值时采用了原颜色值与局部灰度均值相减的思想,其中局部灰度均值由高斯滤波而得出,消除了光照不均对视网膜图像所造成的影响,计算量较小,方便快捷。
按照式(2)计算得出的I1(x,y)有可能出现小于0或大于1情况。为了避免出现错误,需要将小于0或大于1的I1(x,y)按照以下公式进行截断:
其中,I2(x,y)表示截断后坐标为(x,y)的像素的颜色值。
在经过上述式(1)~(3)的处理后,视网膜区域的对比度会得到增强,但是,式(2)中原颜色值与高斯滤波所得的局部灰度均值相减的处理会使得视网膜区域的边界部分较亮。为了避免亮边界对后续视网膜图像病变区域分割过程的干扰,需要去除该亮边界,同时也不能损失视网膜区域的图像细节。根据一种实施例,在确定了增强后各像素的颜色值之后,还要对RGB每一个颜色通道所对应的图像进行形态学腐蚀。根据一种实施例,此处的形态学腐蚀采用圆形结构元素,圆形结构元素的半径与式(2)中的δ相同,这样可以较好地去除亮边界,也不会损失视网膜区域的图像细节。当然,上述半径为δ的圆形结构元素仅是示例性的,在其他实施例中,本领域技术人员可以根据实际情况选用其他大小的圆形结构元素,或其他形状的结构元素(例如线性结构元素、矩形结构元素等),本发明对形态学腐蚀中所采用的结构元素的形状和大小均不做限制。此外,应当指出,除了采用以上所述的形态学腐蚀的方法来去除亮边界之外,还可以采用其他的方法,本发明对去除亮边界所采用的具体方法亦不做限制。
图6A、6B分别示出了图5A、5B的裁剪结果图所对应的增强对比度后的结果图。图6A、6B较之图5A、5B,视网膜区域的对比度明显增强,视网膜区域的细节更加清晰可辨。注意,由于采用形态学腐蚀的方法去除了视网膜区域的较亮的边界,故在图6A、6B中,视网膜区域不再像图5A、5B那样与图像的边界相切,而是距离图像的边界有一个狭窄的缝隙。
图7示出了根据本发明一个实施例的视网膜图像预处理方法700的流程图。方法700适于在驻留有如图3所示的装置300的计算设备中执行。如图7所示,方法700始于步骤S710。
在步骤S710中,获取视网膜图像,视网膜图像中包括视网膜区域和背景。根据一种实施例,在获取视网膜图像后,判断视网膜图像的尺寸是否小雨第一阈值,若是,则丢弃该视网膜图像,获取下一幅视网膜图像。第一阈值例如可以设置为1000*1000像素,但不限于此。步骤S710中所涉及的多个概念(例如“视网膜区域”、“背景”、“圆形”等)的解释以及该步骤的具体过程可以参考前述对读取模块310的描述,此处不再赘述。
随后,在步骤S720中,对视网膜图像进行裁剪,裁剪后的图像中包括圆形的视网膜区域。根据一种实施例,按照以下步骤对视网膜图像进行裁剪:确定视网膜区域的边界;若边界为圆形,则将视网膜图像裁剪为与视网膜区域外接的矩形图像;若边界不为圆形,则确定该边界所对应的圆;将所确定的圆作为掩膜与视网膜图像相乘,得到复原后的视网膜图像,复原后的视网膜图像中包括圆形的视网膜区域;将复原后的视网膜图像裁剪为与圆形的视网膜区域外接的矩形图像。根据一种实施例,在确定视网膜区域的边界时选用HSV色彩空间的V通道。根据一种实施例,在确定边界所对应的圆时采用霍夫变换算法。步骤S720的具体过程可以参考前述对裁剪模块320的描述,此处不再赘述。
随后,在步骤S730中,将裁剪后的图像的尺寸调整为预定尺寸。根据一种实施例,采用图像内插方法将裁剪后的图像的尺寸调整为预定尺寸。步骤S730的具体过程可以参考前述对尺寸调整模块330的描述,此处不再赘述。
随后,在步骤S740中,对预定尺寸的图像进行对比度增强。根据一种实施例,按照以下步骤对预定尺寸的图像进行对比度增强:将预定尺寸的图像中各像素的RGB颜色通道的颜色值归一化为0~1之间的数;对于RGB中每一个颜色通道,按照公式(2)确定增强后各像素的颜色值,公式(2)中,I1(x,y)表示增强后坐标为(x,y)的像素的颜色值,I0(x,y)表示在预定尺寸的图像中坐标为(x,y)的像素的颜色值,I(x,y;δ)表示在预定尺寸的图像中坐标为(x,y)的像素的局部均值,其中,所述局部均值为经模板大小和方差均为δ的高斯滤波所得出。根据一种实施例,在公式(2)中,α=β=4,γ=0.5,δ为10~20之间的任意整数。
根据一种实施例,在确定增强后各像素的颜色值之后,还包括:按照公式(3)对小于0或大于1的颜色值进行截断,在公式(3)中,I2(x,y)表示截断后坐标为(x,y)的像素的颜色值。
根据一种实施例,在确定增强后个像素的颜色值后,还包括步骤:对RGB每一个颜色通道所对应的图像进行形态学腐蚀。根据一种实施例,形态学腐蚀采用圆形结构元素,圆形结构元素的半径与公式(2)中的δ相同。
另外,步骤S740的具体过程可以参考前述对增强模块340的描述,此处不再赘述。
A5:A1-4中任一项所述的方法,其中,所述将裁剪后的图像调整为预定尺寸的步骤采用图像内插方法。
A6:A1所述的方法,其中,所述对预定尺寸的图像进行对比度增强包括:将预定尺寸的图像中各像素的RGB颜色通道的颜色值归一化为0~1之间的数;对于RGB中每一个颜色通道,按照以下公式确定增强后各像素的颜色值:
I1(x,y)=αI0(x,y)-β·I(x,y;δ)+γ
其中,I1(x,y)表示增强后坐标为(x,y)的像素的颜色值,I0(x,y)表示在预定尺寸的图像中坐标为(x,y)的像素的颜色值,I(x,y;δ)表示在预定尺寸的图像中坐标为(x,y)的像素的局部均值,其中,所述局部均值为经模板大小和方差均为δ的高斯滤波所得出。
A7:A6所述的方法,其中,α=β=4,γ=0.5,δ为10~20之间的任意整数。
A8:A6所述的方法,其中,在确定增强后各像素的颜色值之后,还包括:按照以下公式对小于0或大于1的颜色值进行截断:
其中,I2(x,y)表示截断后坐标为(x,y)的像素的颜色值。
A9:A6-8中任一项所述的方法,其中,在确定增强后各像素的颜色值之后,还包括:对RGB每一个颜色通道所对应的图像进行形态学腐蚀。
A10:A9所述的方法,其中,所述形态学腐蚀采用圆形结构元素,所述圆形结构元素的半径与权利要求5中的δ相同。
B15:B11-14中任一项所述的装置,其中,所述尺寸调整模块进一步被配置为适于采用图像内插方法将裁剪后的图像调整为预定尺寸。
B16:B11所述的装置,其中,所述增强模块进一步被配置为适于按照以下步骤对预定尺寸的图像进行对比度增强:将预定尺寸的图像中各像素的RGB颜色通道的颜色值归一化为0~1之间的数;对于RGB中每一个颜色通道,按照以下公式确定增强后各像素的颜色值:
I1(x,y)=αI0(x,y)-β·I(x,y;δ)+γ
其中,I1(x,y)表示增强后坐标为(x,y)的像素的颜色值,I0(x,y)表示在预定尺寸的图像中坐标为(x,y)的像素的颜色值,I(x,y;δ)表示在预定尺寸的图像中坐标为(x,y)的像素的局部均值,其中,所述局部均值为经模板大小和方差均为δ的高斯滤波所得出。
B17:B16所述的装置,其中,α=β=4,γ=0.5,δ为10~20之间的任意整数。
B18:B16所述的装置,其中,所述增强模块进一步被配置为在确定增强后各像素的颜色值之后,按照以下公式对小于0或大于1的颜色值进行截断:
其中,I2(x,y)表示截断后坐标为(x,y)的像素的颜色值。
B19:B16-18所述的装置,其中,所述增强模块进一步被配置为在确定增强后各像素的颜色值之后,对RGB每一个颜色通道所对应的图像进行形态学腐蚀。
B20:B19所述的装置,其中,所述增强模块进一步被配置为采用圆形结构元素进行形态学腐蚀,所述圆形结构元素的半径与权利要求14中的δ相同。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的视网膜图像预处理方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。