基于模糊数学的医学图像边缘处理——手指骨检测提取算法.doc
基于遗传神经网络的图像分割
--根据指定权值阀值设置一个神经网络 1 目的
图像边缘检测是医学图像处理中的一个关键步骤,经典边缘提取算子有Canny、Prewitt、LOG、Roberts、Sobel等等,优点是计算简单、速度较快,缺[1]点是对噪声的干扰都比较敏感。但由于医学图像本身的特点,导致经典的图像处理算法在医学图像处理领域应用效果并不理想,需要结合具体的领域特点研究相应的算法。20世纪80年代中期,Pal和King从图像所具有的不确定性是由模糊性引起的观点出发,提出了模糊边缘检测算法,并在模式识别和医学图像处理[2]中获得了良好的应用。本文在模糊边缘检测思想的指导下,提出了一种新的边缘检测算法。并与经典的边缘提取算子Canny、Prewitt和LOG算子进行对比,发现本算法检测的边缘效果明显优于以上三种算法,边缘效果质量比较高。 2 输入、输出
输入图像:试验图像1.bmp
输出图像:边缘检测
3 模型
本算法的思想是首先用隶属度函数将图像映射成一个模糊隶属度矩阵;然后进行模糊增强处理,以增强边缘信息;接着进行平滑处理,突出图像的主干部分;最后提取出图像的边缘。
3.1 图像模糊特征平面提取
算法第一步是将待处理的图像映射为一个模糊矩阵。按照模糊子集的概念,可以将一幅M*N维且具有L个灰度等级的图像X看作一个模糊点阵。该阵可以记做:
XpxmMnN,,,/,1,2,...,,1,2,..., (3-1) mnmnmn
若令表示图像的第(m,n)个象素的灰度级,表示最大灰度值,则xxmnmax
模糊特征可以表示为: pmn
,Fe()xx,,,maxmn (3-2) pGx,,,()1mnmn,,Fd,,
式中Fd,Fe分别为倒指数型和指数型模糊因子,他们的取值直接影响到p特征平面的模糊性大小。可以先选定Fe值,再根据上式计算Fd取值。
当时,为一个有限正数 x,0pmnmn
,Fex,,max (3-3) ,1,,,,Fd,,
3.2 图像模糊增强
完成了待处理图像得到模糊矩阵的映射后,第2步是在模糊空间利用增强变换对图像做模糊增强处理,即通过改变像素来增强边缘两侧像素灰度的对比度,减小图像灰度层次。本实验采用空域法在模糊平面上修改象素达到增强目的。首先做如下变换:
2,2,01/2pp,,'mnmn (3-4) pINTp,,(),mnmn212(1),1/21,,,,ppmnmn,
'并将变换后小于的均用代替,其中 ,,pmn
x,Femax,,[1,] (3-5) Fd
对已增强的模糊特征进行反G变换得出已经增强的空域图像。根据公式(3-2)反计算出: xmn
1 =-(-1) (3-6) xxFlogmnmaxdFepmn
3.3 图像模糊平滑处理:
用平均法:
1' (3-7) xxijmnijQ,,,,(,)(,),(,),mnijNQ
试验中取一个点周围8个点的平均作为该点的值。
3.4 模糊边缘检测:
首先利用对比度增强算子对图像进行预增强处理;接着对平滑的图像进行Gw变换,得到图像的k个不同区域;最后采用max,min运算对图像作边缘检
测。
'Edgex,mnmn 'maxxxx,,mnmnij (3-8)
4
图
图1 流程图
5 运行结果
5.1 步骤:
5.1.1 利用非对称Gs函数得到模糊特征平面X1
5.1.2 对X1增强头一个区域对比度
5.1.3 运用Gs反变换得到修改后的空间域
5.1.4 利用Gs得到模糊特征平面X2
5.1.5 对X2增强最后一个区域对比度
5.1.6 利用Gs反变换得到修改后的空间域
5.1.7 平滑图像
5.1.8 利用Gw变换提取上述图像的模糊特征
5.1.9 对特征平面运用T1变换增强相继区域对比度
5.1.10 对修改后的特征平面运用对称反Gw变换得到对比度增强了的相继区域 5.1.11 边缘检测
5.2 实验结果及
为了对本文算法进行检验,仿真实验采用了Canny算子、Prewitt算子和Log 算子对同一图像进行了边缘提取。结果图如下所示。显然本文算法既能提取图像的主干边缘,又能提取出较多细节边缘,且提取的边缘清晰、丰富。原因在于,在模糊特征平面上对图像中不同目标采用不同的隶属函数,保证细小边缘不会在增强运算中丢失,也保证了低灰度区目标灰度值。同时在同一目标内,采用对低灰度区大部分像素进行衰减运算而对高灰度区域的大部分像素进行增强运算,这种处理增加了低灰度区域和高灰度区域之间对比度,而图像的边缘恰好处在高灰
[3]度区域,所以提取边缘效果较好。
Canny
图2 Canny算子
Prewitt
图3 Prewitt算子
LOG,σ=2
图4 LOG算子
边缘检测50
100
150
200
250
300
350
400
450
500
550
100200300400500600700
图 5 本算法
附录a 源码
EdgeDetect.m 文件:
clear;
[X,map] = imread('试验图像1.bmp'); %装入原图像
I = double(X);
figure;
image(I);
colormap(map);
title('原始图像');
%求最大值
[m ,n] = size(I);
temp = max(max(I))
MaxValue1 = temp;
L1 = 80;
Xc = L1 + 0.5;
Fe1 = 2;
Fd1 = (255 - Xc)/(sqrt(2) - 1); a1 = (1 + MaxValue1/Fd1)^(-Fe1); %模糊变换
for i = 1:m
for j = 1:n
P1(i,j) = ( 1 + (MaxValue1 - I(i,j))/Fd1 )^(-Fe1);
end
end
%模糊增强
for i = 1:m
for j = 1:n
if (P1(i,j) <= 0.5)
P1(i,j) = 2*P1(i,j)^2;
end
end
end
for i = 1:m
for j = 1:n
if ( P1(i,j)
= 0.5)
HM2(i,j) = 1 - 2*(1 - HM2(i,j));
end
end
end
for i = 1:m
for j = 1:n
if ( HM2(i,j)=L1)
PGm(i,j) = ( 1 + abs(120 - PM(i,j))/Fd3 )^(-Fe3); %?ä??
if (PGm(i,j)<=0.5) %增强
PGm(i,j) = 2*PGm(i,j)^2;
elseif (PGm(i,j)>=0.5)
PGm(i,j) = 1 - 2*(1 - PGm(i,j)^2);
end
if (PM(i,j)>=L1 && PM(i,j)<= 120) %反变换
PM(i,j) = 120 - (1 - log2(1/PGm(i,j)) )*Fd3;
elseif(PM(i,j)>=120 && PM(i,j)<= L2)
PM(i,j) = 120 + (1 - log2(1/PGm(i,j)) )*Fd3;
end
end
end
end
figure;
image(PM);
colormap(map);
title('GW变换结果');
%%%%%%%%%%%%%%%%%最后计算边缘点
Edge = PM;
for i = 2:m-1
for j = 2:n-1
mRec = PM(i-1:i+1,j-1:j+1);
mRec(2,2) = mRec(1,1);
MinValue = min(min(mRec));
MaxV = max(max(mRec));
Edge(i,j) = (MaxV - MinValue);
end
end
figure;
image(Edge);
colormap(map);
title('边缘检测');
Prewitt、LOG、Canny算子对图像边缘的检测: I=imread(‘试验图像1.bmp’);
BW1=edge(I,’prewitt’,0.04);
figure,imshow(BW1),titleI(‘Prewitt’); BW2=edge(I,log’,0.003);
figure,imshow(BW2),titleI(‘LOG, σ=2’); BW3=edge(I,’canny’,0.04);
figure,imshow(BW3),titleI(‘Canny’);
附录b 资源
试验图像1.bmp
附录c 参考文献
[1] 罗玉玲,唐贤英.基于阈值优化的图像模糊边缘检测算法.微计算机信息,2007,23(23):286-288.
[2] 张淑丽,何鹏,穆伟斌.一种改进的医学图像边缘检测算法.中国介入影像与治疗学.2009,Vol 6,No 1:87-90.
[3]杜亚勤,郭雷,高世伟.基于模糊集的图像边缘检测算法.电子测量与仪器学报.2007,Vol 12,No 6:22-24.
[4] 杨勇,黄淑英.一种改进的Pal和King模糊边缘检测算法.仪器仪表学报.2008,Vol.29,No.9:1918-1922.
[5] 吴德刚,张宇波,曹立波.一种改进的模糊边缘检测算法.激光与红外.2010,Vol 40,No 12:1374-1377
附录d PPT
附后:基于模糊数学的医学图像边缘处理——手指骨检测提取算法.ppt