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等。

相关推荐
机器学习之心几秒前
一区北方苍鹰算法优化+创新改进Transformer!NGO-Transformer-LSTM多变量回归预测
算法·lstm·transformer·北方苍鹰算法优化·多变量回归预测·ngo-transformer
yyt_cdeyyds11 分钟前
FIFO和LRU算法实现操作系统中主存管理
算法
只怕自己不够好18 分钟前
OpenCV 图像运算全解析:加法、位运算(与、异或)在图像处理中的奇妙应用
图像处理·人工智能·opencv
alphaTao38 分钟前
LeetCode 每日一题 2024/11/18-2024/11/24
算法·leetcode
kitesxian1 小时前
Leetcode448. 找到所有数组中消失的数字(HOT100)+Leetcode139. 单词拆分(HOT100)
数据结构·算法·leetcode
VertexGeek1 小时前
Rust学习(八):异常处理和宏编程:
学习·算法·rust
石小石Orz1 小时前
Three.js + AI:AI 算法生成 3D 萤火虫飞舞效果~
javascript·人工智能·算法
华清远见IT开放实验室2 小时前
【每天学点AI】实战图像增强技术在人工智能图像处理中的应用
图像处理·人工智能·python·opencv·计算机视觉
火山口车神丶2 小时前
某车企ASW面试笔试题
c++·matlab
只怕自己不够好2 小时前
《OpenCV 图像缩放、翻转与变换全攻略:从基础操作到高级应用实战》
人工智能·opencv·计算机视觉