|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
7 Y1 ~2 \; I( O l& T
同态滤波:+ U: d, i# J1 R5 a
利用广义叠加原理对同态系统进行滤波。4 J v) \* r$ A& {) C
4 v# Z" [1 W8 l' [
同态滤波是把频率过滤和灰度变换结合起来的一种图像处理方法,它依靠图像的照度/ 反射率模型作为频域处理的基础,利用压缩亮度范围和增强对比度来改善图像的质量。使用这种方法可以使图像处理符合人眼对于亮度响应的非线性特性,避免了直接对图像进行傅立叶变换处理的失真。" R0 o: B( ^4 e; F$ g$ q. R
# Z( F, u, N. j) p6 c0 a同态滤波的基本原理是:将像元灰度值看作是照度和反射率两个组份的产物。由于照度相对变化很小,可以看作是图像的低频成份,而反射率则是高频成份。通过分别处理照度和反射率对像元灰度值的影响,达到揭示阴影区细节特征的目的。0 g/ T ]$ c, f5 M% O7 f
, ~0 p9 T! z. C" V" D4 [! J1 C1 b
$ E5 k$ ?. h+ T- e9 k
同态滤波处理的基本流程如下:
* g9 Q- I) L/ `1 q6 ]4 Q
" b( x. x _) G! r0 o# D x8 Z8 HS(x,y)---->Log---->DFT---->频域滤波---->IDFT---->Exp---->T(x,y)$ c& B( U# Q! U# R0 U$ c
% X9 R9 j! L9 @% J9 L其中S(x,y)表示原始图像;T(x,y)表示处理后的图像;Log 代表对数运算;DFT 代表傅立叶变换(实际操作中运用快速傅立叶变换FFT);IDFT 代表傅立叶逆变换(实际操作中运用快速傅立叶逆变换IFFT);Exp 代表指数运算。/ | H a% t4 M6 V$ y
" J* f' s. f3 c
下面是一张典型的同态滤波与其他图像处理方式的异同:
8 U7 T2 H! w: ^; T* ?
2 }/ o- w1 B% ?; y F
7 C7 u% [. X2 E9 F
! K+ P/ [: a; p# T# [+ Q
( f6 P1 ?) V9 I% ]6 J9 ^实现代码:5 K7 O9 R ?1 d r$ \3 {
7 U! v$ s( D$ r- function I3 = test_tontai(I)
- I=double(rgb2gray(I));
- [M,N]=size(I);
- rL=0.5;
- rH=4.7;%可根据需要效果调整参数
- c=2;
- d0=10;
- I1=log(I+1);%取对数
- FI=fft2(I1);%傅里叶变换
- n1=floor(M/2);
- n2=floor(N/2);
- for i=1:M
- for j=1:N
- D(i,j)=((i-n1).^2+(j-n2).^2);
- H(i,j)=(rH-rL).*(exp(c*(-D(i,j)./(d0^2))))+rL;%高斯同态滤波
- end
- end
- I2=ifft2(H.*FI);%傅里叶逆变换
- I3=real(exp(I2));
- subplot(122),imshow(I3,[]);title('同态滤波增强后');- h# a. b# x9 f0 V- v
, B2 m% T' s& m) `4 r Z
% m/ ^ [ z! U$ K) \实验发现,同态滤波有类似于高动态范围压缩的效果,比如可以把图像暗的部分提亮。
- f- q( k \2 S2 s. k
# ?. H; e* V6 r& U: H0 i# {5 o, A g/ y+ t
下图为原始图像,属于低曝光的一幅图像:- ?/ C( R" `: K
. ^2 H9 O; E- ~/ v6 v4 t; A- U. q
2 _! M" ~* h2 V8 w. A
3 L& H% n6 @. S& F9 f/ D
4 z& N; f% v+ I, N6 F
同态滤波后:+ V1 g+ I! T" u9 o$ w1 o
2 n3 }6 B8 l6 ^4 N) q6 P
1 ^7 K* \# i1 t8 m8 b% D6 `
, N b: q6 }6 Q+ U5 E3 y
- J$ w, W d! s+ {7 D
2 L O3 a* I% x9 s( k6 L0 R: x |
|