MATLAB环境下基于同态滤波方法的医学图像增强

目前图像增强技术主要分为基于空间域和基于频率域两大方面,基于空间域图像增强的方法包括了直方图均衡化方法和 Retinex 方法等,基于频率域的方法包括同态滤波方法。其中直方图均衡化方法只是根据图像的灰度概率分布函数进行简单的全局拉伸,没有考虑像素间的灰度联系情况,进行直方图均衡化后,会在一定程度上提高图像的对比度,但是图像的灰度级会进行合并进而减少,造成细节的丢失。而 Retinex 方法假定空间照度是缓慢变化的,在图像明暗变化剧烈的区域,容易出现光晕现象。因此在处理光照差异很明显的图片,基于频率域的同态滤波方法有更好的效果。

同态滤波是一种结合了频率过滤和灰度变换的方法,它以图像的照度反射模型作为频域的处理基础,分别对低频信息进行增强,高频信息进行抑制,可以有效解决图像上照度不均匀和动态范围过大对图像产生影响的问题,在不损失亮区细节信息的同时,有效增强暗区的细节信息。

程序运行环境为MATLAB R2018A,使用同态滤波方法进行医学图像增强,算法可以参考:

[1]龚云,颉昕宇.基于同态滤波方法的煤矿井下图像增强技术研究[J].煤炭科学技术,2023,51(03):241-250.

[2]王娟,李军芳.一种基于同态滤波的水下目标深度辨识方法[J].实验室研究与探索,2022,41(06):62-66+105.

部分程序如下:

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('参考结果图像');
% 方法一:使用同态滤波增强
%方法二:直方图均衡化,就是不会压缩原始图像
    %保存实验结果图
    resultPath = 'ResImgs/';
    resultImgName=[name,'_result_4096.tif'];
    saveImg(resultImg,resultPath,resultImgName);

    %显示结果图像
    subplot(1,3,3),imshow(resultImg,[]);title('同态滤波增强');
end

出图如下:

工学博士,担任《Mechanical System and Signal Processing》审稿专家,担任
《中国电机工程学报》优秀审稿专家,《控制与决策》,《系统工程与电子技术》,《电力系统保护与控制》,《宇航学报》等EI期刊审稿专家。

擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

相关推荐
橙子小哥的代码世界3 分钟前
【计算机视觉基础CV-图像分类】01- 从历史源头到深度时代:一文读懂计算机视觉的进化脉络、核心任务与产业蓝图
人工智能·计算机视觉
ALISHENGYA10 分钟前
全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之分支结构(switch语句)
数据结构·算法
chengooooooo12 分钟前
代码随想录训练营第二十七天| 贪心理论基础 455.分发饼干 376. 摆动序列 53. 最大子序和
算法·leetcode·职场和发展
jackiendsc19 分钟前
Java的垃圾回收机制介绍、工作原理、算法及分析调优
java·开发语言·算法
小陈phd1 小时前
OpenCV学习——图像融合
opencv·计算机视觉·cv
游是水里的游1 小时前
【算法day20】回溯:子集与全排列问题
算法
yoyobravery1 小时前
c语言大一期末复习
c语言·开发语言·算法
Jiude2 小时前
算法题题解记录——双变量问题的 “枚举右,维护左”
python·算法·面试
被AI抢饭碗的人2 小时前
算法题(13):异或变换
算法
是十一月末2 小时前
Opencv之对图片的处理和运算
人工智能·python·opencv·计算机视觉