目录
1 概述
2 运行结果
3 参考文献
4 Matlab代码
医学图像增强——基于同态滤波方法(Matlab代码实现)
目的:改善医学图像质量,使低对比度的图像得到增强。方法:利用Matlab,采用灰度直方图均衡化和灰度直方图规定化的方法对一幅X线图像进行增强处理,并比较它们的增强效果。结果:用直方图均衡化和规定化的算法,将原始图像密集的灰度分布变得比较稀疏,处理后的图像视觉效果得以改善。直方图均衡化对于局部细节增强不显著,而直方图规定化则使不易观察到的细节变得清晰。结论:使用Matlab大大简化了编程工作,为医学图像处理提供了一种技术平台。直方图规定化法处理医学图像局部细节方面好于均衡化。
2 运行结果
主函数部分代码:
clear all;
clc;
% 原始图像库路径
originImgPath = 'DRimgs/';
% 参考结果图像路径
referenceImgPath = 'RefImgs/';
% 遍历所有jpg格式文件
imgDir = dir([originImgPath '*.tif']);
% 遍历结构体就可以一一处理图片了
% 选取本次运行要查看的图片数
number=7;
% number=length(imgDir); % 查看全部图像
for i = 1:number
% 提取每张图片文件名
name = imgDir(i).name((1:end-4));
originImg = imread([originImgPath name '.tif']); %读取原始图片
referenceImg = imread([referenceImgPath name '_out.tif']); %读取参考结果图片
%显示原始图像
figure('name',name),subplot(1,3,1),imshow(originImg,[0 4096]);title('原始图片');
%显示参考图像
subplot(1,3,2),imshow(referenceImg,[0 4096]);title('参考结果图像');
% 方法一:使用同态滤波增强:homomorphicFilter(originImg,rL,rH,c,D0),会压缩图像
% resultImg=homomorphicFilter(originImg,0.25,2.2,2.0,30);
%方法二:直方图均衡化,就是不会压缩原始图像
resultImg = HistogramEqualization(originImg);
%保存实验结果图
resultPath = 'ResImgs/';
resultImgName=[name,'_result_4096.tif'];
saveImg(resultImg,resultPath,resultImgName);
%显示结果图像
subplot(1,3,3),imshow(resultImg,[]);title('同态滤波增强');
end
[1]袁丽婷,邱力军.基于Matlab的X线医学图像增强与直方图处理方法[J].第四军医大学学报,2007(04):376-378.
部分理论引用网络文献,若有侵权联系博主删除。