定义

一幅图像可看成由两部分组成,即

  • fi代表随空间位置不同的亮度(Illumination)分量,其特点是缓慢变化,集中在图像的低频部分。
  • fr代表景物反射到人眼的反射(Reflectance)分量,其特点包含了景物各种信息,高频成分丰富。

上式为同态滤波模型公式,其中,
0 < i ( x , y ) < 无 穷


0 < r ( x , y ) < 1

入射分量可以在0-无穷之间变化,反射分量只能在0-1之间变化,当反射分量为0时,说明物体将光全吸收,为黑色,当反射分量为1时,说明物体将光全反射,为白色。

同态滤波流程

同态滤波过程,分为以下5个基本步骤:

  • 取对数
  • 取对数结果做傅里叶变换
  • 设计一个实中心对称的频域滤波器H(u,v),与上步傅里叶变换结果阵列相乘
  • 傅里叶反变换,返回到空域
  • 取指数,得空域滤波结果。

方框图表示如下:

可以看出同态滤波的关键在于同态滤波器H(u,v)的设计,同态滤波的目的在于:对一幅光照不均匀的图像,适当压制亮度分量,增强反射分量,以此来实现亮度调整与对比度提升,从而改善图像的视觉质量。

通过以上分析我们可以知道:同态滤波器可以由高通滤波器来实现,但是又不能完全截断低频成分,只要适当压低即可,所以同态滤波器的函数表示如下:


其中,yL<1,yH>1,控制滤波器幅度的范围。Hhp通常为高通滤波器,如高斯(Gaussian)高通滤波器、巴特沃兹(Butterworth)高通滤波器、Laplacian滤波器等。其中,yL< 1, yH >1,控制滤波器幅度的范围。Hhp通常为高通滤波器,如高斯(Gaussian)高通滤波器、巴特沃兹(Butterworth)高通滤波器、Laplacian滤波器等。 其中,yL<1,yH>1,控制滤波器幅度的范围。Hhp通常为高通滤波器,如高斯(Gaussian)高通滤波器、巴特沃兹(Butterworth)高通滤波器、Laplacian滤波器等。
如高通滤波器采用高斯高通滤波器则有如下形式:

同态滤波器对应的图像表示如下:

其中, c为一个常数,控制滤波器形态,从低频到高频的斜率,c越大,斜坡带越陡峭

matlab实现代码

注意:取指数后一定要进行像素拉伸

%读入图片
img = imread('office.png');
img = rgb2gray(img);
figure(1);
subplot(2, 1, 1);
imshow(img);
title('Raw Image');
gamma_H = 2;
gamma_L = 0.25;
c = 0.25;
D0 =100;
f = double(img);
f = log(f + 1);%取指数
F = fft2(f);%傅里叶变换
F=fftshift(F);%频谱搬移
[height, width] = size(F);
%设计一个同态滤波器
H = HomomorphicFiltering(gamma_H, gamma_L, c, D0, height, width);
g=H.*F;%同态滤波
g = ifft2(ifftshift(g));%频谱搬移,傅里叶逆变换
g = exp(g)-1;
g = real(g);
%拉伸像素值
new_img = Expand(g);
subplot(2,1,2);
imshow(new_img);
title('Homomorphic Filtered Image(D0 = 100)');function new_img = Expand( img ) [height, width] = size(img);max_pixel = max(max(img));min_pixel = min(min(img));new_img=zeros(height,width);for i = 1 : heightfor j = 1 : widthnew_img(i, j) = 255 * (img(i, j) - min_pixel) / (max_pixel - min_pixel);endendnew_img = uint8(new_img);
endfunction H = HomomorphicFiltering( gamma_H, gamma_L, c, D0, height, width )for i = 1 : heightx = i - (height / 2);for j = 1 : widthy = j - (width / 2);H(i, j) = (gamma_H - gamma_L) * (1 - exp(-c * ((x ^ 2 + y ^ 2) / D0 ^ 2))) + gamma_L;endend
end

运行结果

参考链接

图像的同态滤波原理及实现

数字图像处理同态滤波(matlab)相关推荐

  1. 数字图像几何变化matlab,【新书推荐】数字图像处理——使用MATLAB分析与实现

    原标题:[新书推荐]数字图像处理--使用MATLAB分析与实现 数字图像处理是现代信息处理的研究热点.教材基于大学教学特点.目的编写,介绍数字图像处理的基本原理.算法分析和实现.章节内容由浅入深,层次 ...

  2. 基于小波变换的数字图像处理(MATLAB源代码)

    基于小波变换的数字图像处理(MATLAB源代码) clear all; close all; clc; M=256;%原图像长度 N=64; %水印长度 [filename1,pathname]=ui ...

  3. 数字图像处理(MATLAB)(第二版) 冈萨雷斯 学习笔记

    数字图像处理(MATLAB)(第二版) 冈萨雷斯 主要用来记录自己的学习过程,相关实验内容,便于日后查找相关知识点及复习所用 第二章 灰度变换和空间滤波 本章重点讨论两类空间域处理方法:亮度(或灰度) ...

  4. 6.数字图像处理及MATLAB实现-马赛克

    6.数字图像处理及MATLAB实现-马赛克 马赛克 I=imread('cell.bmp'); fun = @(x) std2(x)*ones(size(x));      %此处的x表示被处理的那个 ...

  5. 数字图像处理之matlab实验(六):图像分割

    在图像处理领域,我们更关注的是一些关于目标的分析或者描述信息,比如图片里面是否有猫,以及是什么品种的猫?在在做这一步之前,我们需要先把图像中的猫分割出来.可以说图像分割是最基础也是最重要的一步操作,会 ...

  6. 数字图像处理之matlab大作业:自制图像处理小工具

    学习的过程向来不是容易的,创造一个作品的过程更是不容易的.因此,在文章的最后,提供了两个现成的示例代码,大家直接可以拿来运行.在完成大作业的时候,大家可以在已有作品的基础上,按照自己的需求进行修改,添 ...

  7. 数字图像处理(matlab版)课本源码和图片

    教材:冈萨克斯–数字图像处理(MATLAB版) (一部分展示)源码: (一部分展示)图片: 点击获取: 链接:https://pan.baidu.com/s/1F7P-EqVkdVP8iaROp9_j ...

  8. matlab gui素材,数字图像处理配套MATLAB代码及图片素材

    [实例简介] 数字图像处理配套MATLAB代码及图片素材,下载解压即可 仅作学习交流使用 如有问题请私信 [实例截图] [核心代码] b6a060d9-a607-47e1-a1fa-84fc0145e ...

  9. 图像处理边缘增强matlab,数字图像处理实验 matlab 图像增强 边缘检测 图像操作.doc...

    数字图像处理实验 matlab 图像增强 边缘检测 图像操作 实验1 点运算和直方图处理 实验目的 1. 掌握利用Matlab图像工具箱显示直方图的方法 2. 掌握运用点操作进行图像处理的基本原理. ...

  10. matlab对于处理数字图像的优点,数字图像处理及matlab实现知识点总结1-4

    数字图像处理及matlab实现知识点总结1-4 数字图像处理及matlab实现知识点总结1-4 图像概念: 图:是物体透射或反射光的分布,客观存在 像:是人的视觉系统对图的接受在大脑中形成的印象或反映 ...

最新文章

  1. 如何用JavaScript操作form表单组件?
  2. 安装完CentOS可以不做的事
  3. 面向对象编程--之二
  4. 在控制台输入一个整数,根据整数打印一个矩形 (Python)
  5. 顶级程序员的心得 Coders at Work (II)
  6. 玩大了!别再埋头学Python了,它真的无用!
  7. phpcmsV9找配置文件修改JS/CSS/IMG/APP_PATH、upload_path的路径?
  8. 博弈——巴什博弈(hdu1846,2188,2897)
  9. 燃气管理 php,智能燃气管理信息系统设计
  10. flex4 SuperTabNavigator 添加关闭图片
  11. centos gradle 安装
  12. useful websites for constructing your own website
  13. Java程序员常用开发工具有哪些?
  14. 西门子STEP7-200PLC的顺序控制编程
  15. html固定广告位置,创建固定位置弹出浮动广告的实例代码
  16. 护理自考本科科目计算机应用基础,护理自考本科考哪些科目
  17. Hadoop伪分布和全分布部署指南
  18. 消除Permission is only granted to system apps报错
  19. 自动驾驶|福特将在美国新建自动驾驶汽车工厂 计划未来两年投产
  20. 工程师解说raid6结构和原理

热门文章

  1. 主机无法访问虚拟机的httpd服务
  2. [轻微]WEB服务器启用了OPTIONS方法/如何禁止DELETE,PUT,OPTIONS等协议访问应用程序/tomcat下禁用不安全的http方法...
  3. css3中的BFC,IFC,GFC和FFC(转载)
  4. 《机电传动控制》----学习笔记六
  5. Visual Studio 常用快捷键 (二)
  6. VS2003,VS2005,VS2008 低版本打开高版本的解决方案和工程文件
  7. STL - 底层实现
  8. 电商网站前端架构 学习笔记(全是干货)
  9. Spring Cloud Zuul网关(快速搭建)
  10. 《HTML5与CSS3实战指南》——2.2 基本的HTML5模板