1)去除血管中央光反射;
2)背景的同质化;
3)增强血管;
图2.2 (a)绿色通道图(b)血管局部放大图(c)背景图(d)阴影矫正图(e)同质化图(f)血管增强图
2.3.1灰度化处理,
由彩色转化为灰度的过程叫做灰度化处理,它是使RGB模型中的R=G=B。转换后的黑白图像的一个像素用一个字节表示该点的灰度值,它的值在0~255之间,我们采用绿色通道作为灰度,转换关系为:
Gray(i,j)=G(i,j)
在实际中,可以取3个分量中的最大值作为灰度值。灰度处理首先读入图像的拷贝文件到内存中,找到R,G,B中的最大值,使颜色的分量值都相等且等于最大值,这样就可以使图像变成灰度图像。
算法:
1) 取得图像文件的拷贝文件;
2) 取得图像的数据区指针,得到R,G,B三个分值;
3) 对读取G的值gray=G;
4) 将gray返回给G分量;
5) 显示图像。
2.3.2去除血管中央光反射,
由于视网膜血管比其他视网膜有较低的反射率表面时,他们似乎较背景暗。虽然典型的血管横截面灰度级剖面可以近似于高斯形曲线(内血管像素比最外层深色),但一些血管包括光条纹(称为光反射),它贯穿血管全长的中央位置。
对此采用一个3*3的均值滤波器,均值滤波也称为线性滤波,其采用的主要方法为领域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度个g(x,y),即个g(x,y)=1/m ∑f(x,y) m为该模板中包含当前像素在内的像素总个数。
在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个象素,构成一个滤波模板,即去掉目标象素本身)。
再用模板中的全体像素的平均值来代替原来像素值。如图2.2(b)中消除了血管的中央光反射。
算法:
1)取得灰度图数据区指针;
2)去除图像边缘;
3)读取指针周围8像素求和取均值;
4)将数据返回指针;
5)显示图像;
2.3.3背景同质化
眼底图像往往由于非均匀的照明而造成背景强度的变化。因此,背景像素可能呈现出不同的强度,虽然他们的灰度通常高于血管像素(绿色通道图像),但仍有一些背景像素的强度值是高于明亮的血管像素。由于在分类阶段用来代表一个像素的特征向量是由灰度值组成,这种影响可能会降低血管抽取方法的性能。消除这些背景不均匀变化,从背景估计完成阴影矫正的图像。这个过程是一个大的算术平均数的为核心的过滤操作。如下所述。
(1)由一文高斯核函数卷积将上一步此产生的图像进行进一步的噪声平滑,窗口尺寸尺寸为9*9,高斯滤波器是一种线性线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。以下是它的函数:
(2.1)
(x,y)分别是它离中心点的位置,而则是一个标准方差,通过这个未知数可以控制Gauss函数的模板及平滑的程度。在这里 =1.82
然后就是用Gauss函数对图像f(x,y)进行平滑就可以得f(x,y)*G(x,y, ),这里的*符号表示的是卷积运算。通过这个运算以后就可以得到进行平滑以后的图像F(x,y)了。 VC++视网膜血管自适应图像的抽取算法及其实现(3):http://www.youerw.com/jisuanji/lunwen_2157.html