医学图像处理系统平台的研究与开发 第11页1.中值滤波程序
i=imread('图像名称');
j=imnoise(i,'salt & pepper',0.02);
k=medfilt2(j);
subplot(221);
imshow(i);
title('原始图像');
subplot(222);
imshow(j);
title('含噪声图像');
subplot(223);
imshow(k);
title('中值滤波图像');
2.小波降噪程序
X1=imread('图像名称');
%画出原始图象
x=im2double(X1);
imshow(x);
title('原始图象');
%用小波函数sym4对x进行2层小波分解
[c,s]=wavedec2(x,2,'sym4');
%提取小波分解中第一层的底频图象,即实现了低通滤波消噪
a1=wrcoef2('a',c,s,'sym4',1);
%画出消噪后的图象
figure;imshow(a1);
title('第一次消噪图象');
%提取小波分解中第二层的低频图象,相当于再一次的低频滤波处理
a2=wrcoef2('a',c,s,'sym4',2);
%画出消噪后的图象
figure;imshow(a2);
title('第二次消噪图象');
3.Roberts算子边缘检测程序
f=imread('图像名称');
subplot(121);
imshow(f);
title('原始图像');
g=edge(f,'roberts');
subplot(122);
imshow(g);
title('roberts算子检测图像');
4.Canny算子边缘检测程序
f=imread('图像名称');
subplot(121);
imshow(f);
title('原始图像');
g=edge(f,'canny');
subplot(122);
imshow(g);
title('canny算子检测图像');
5.分水岭法分割程序
f=imread('图像名称');
subplot(221);
imshow(f);
%计算梯度图
f=double(f);
hv=fspecial('prewitt');
hh=hv.';
gv=abs(imfilter(f,hv,'replicate'));
gh=abs(imfilter(f,hh,'replicate'));
g=sqrt(gv.^2+gh.^2);
%计算距离函数
df=bwdist(f);
www.751com.cnim=imextendedmax(f,80);
%重构梯度图
g2=imimposemin(g,im|em);
%watershed算法分割
L2=watershed(g2);
wr2=L2==0;
subplot(222);
f(wr2)=255;
imshow(uint8(f));
6.计算信噪比程序
oimg=imread('原始图.jpg');
oimg=double(oimg)/256;
img=imread('噪声图像.jpg');
img=double(img)/256;
%PSNR
snr1=-10*log10(mean2((img-oimg).*(img-oimg))/(max(max(oimg))^2));
7.计算病灶区域面积程序
g=imread('图像名称');
b=im2bw(g);
n=0;N=0;
nk=zeros(2,1);%出现次数
[row,col]=size(b);
for i = 1:row
for j = 1:col
num = double(b(i,j))+1; %获取像素点灰度级
nk(num) = nk(num)+1;%统计nk
end
end
%结果
for i=1:1
n=n+nk(i);%病灶区域像素
end
for i=1:2
N=N+nk(i);%总像素
end
m=(n/N)*35*43; << 上一页 [11]
医学图像处理系统平台的研究与开发 第11页下载如图片无法显示或论文不完整,请联系qq752018766