EDA365电子论坛网

标题: 怎样用MATLAB的图像处理功能进行同态滤波 [打印本页]

作者: haidaowang    时间: 2019-12-3 09:39
标题: 怎样用MATLAB的图像处理功能进行同态滤波
& k& F/ ^4 m. `2 [
同态滤波:
+ s* p% A$ y$ w7 e; ?- M
利用广义叠加原理对同态系统进行滤波。
/ X& |9 M* u5 U# E4 V+ d
: }2 ?0 Q' a2 U% L
同态滤波是把频率过滤和灰度变换结合起来的一种图像处理方法,它依靠图像的照度/ 反射率模型作为频域处理的基础,利用压缩亮度范围和增强对比度来改善图像的质量。使用这种方法可以使图像处理符合人眼对于亮度响应的非线性特性,避免了直接对图像进行傅立叶变换处理的失真。

3 [. {! o# a! E/ E8 I! Z4 W* G! D- p1 t. ]& s( p0 @
同态滤波的基本原理是:将像元灰度值看作是照度和反射率两个组份的产物。由于照度相对变化很小,可以看作是图像的低频成份,而反射率则是高频成份。通过分别处理照度和反射率对像元灰度值的影响,达到揭示阴影区细节特征的目的。3 m1 Y# M; t. H/ h

% q; _. S! {) S$ X
" b. s! i8 \, y/ c5 `同态滤波处理的基本流程如下:

/ n- d9 }# e0 o) U# ~$ o( z! r1 k& q  R% g+ t8 d0 `
S(x,y)---->Log---->DFT---->频域滤波---->IDFT---->Exp---->T(x,y)

5 N+ Q! ^& r% f# g3 ]( A% Y! H9 V/ _
其中S(x,y)表示原始图像;T(x,y)表示处理后的图像;Log 代表对数运算;DFT 代表傅立叶变换(实际操作中运用快速傅立叶变换FFT);IDFT 代表傅立叶逆变换(实际操作中运用快速傅立叶逆变换IFFT);Exp 代表指数运算。
5 Q% O- ~# z% q' T. N, {
" ?9 S$ ^- s% I" g% X下面是一张典型的同态滤波与其他图像处理方式的异同:( x/ A+ a" {3 j# E  ?

  V0 N4 r( k. x5 L! U# R! `

  l( F  N$ ~- J6 h( X% r1 p7 F2 {5 y
# b8 l0 S1 M) W, `4 c2 S5 j7 u3 n
实现代码:! U& T# f$ ^$ B) D' v9 |. ^6 y1 K

6 Q: d$ N# F9 ~/ p$ U  
4 {& @9 t& l4 _+ I0 C
/ x1 q0 {& f3 F& g4 n实验发现,同态滤波有类似于高动态范围压缩的效果,比如可以把图像暗的部分提亮。
, ~/ D% {; W2 e2 z( Z
' Q/ q; I9 Z! P8 A$ V8 `: t4 L6 G
& @! c: E" q9 |) \# i# v下图为原始图像,属于低曝光的一幅图像:
/ H! |; _7 Z  g2 a9 ]( V* X/ M9 ~5 w9 y6 M3 e4 A
4 n7 J9 g) r) M( ?

3 g2 R/ t- S' M$ o# i  x2 Y  n
4 u% y+ I/ Y+ u  m同态滤波后:
- r& p; }2 \8 \3 V" z
6 Q1 g6 |' p! M$ R, ?

( }: Y* E2 |3 G5 ?. ~5 M$ _1 b" N, b$ ~( U" k) x' J
2 ]( x  [* A# \( M2 R  z2 E

8 t& s# B% f) X; j+ u7 z5 D  ]
作者: ExxNEN    时间: 2019-12-3 18:07
赞一个,感觉很好
作者: yin123    时间: 2019-12-4 18:04
谢谢分享,感觉这个软件好强大啊




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2