|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
# E& g1 i! }' f- r' o
同态滤波:# e9 n. \) g+ z4 r3 E
利用广义叠加原理对同态系统进行滤波。* X$ Q& J4 T% E8 H, p& y/ z/ F: ~
3 o) e9 C' L {5 y
同态滤波是把频率过滤和灰度变换结合起来的一种图像处理方法,它依靠图像的照度/ 反射率模型作为频域处理的基础,利用压缩亮度范围和增强对比度来改善图像的质量。使用这种方法可以使图像处理符合人眼对于亮度响应的非线性特性,避免了直接对图像进行傅立叶变换处理的失真。- m: \& k* ]9 t+ |5 D, O
6 `' P' }. m9 g同态滤波的基本原理是:将像元灰度值看作是照度和反射率两个组份的产物。由于照度相对变化很小,可以看作是图像的低频成份,而反射率则是高频成份。通过分别处理照度和反射率对像元灰度值的影响,达到揭示阴影区细节特征的目的。( s% D. A: F& [
! z- ?, i1 G7 f6 w. Z
7 P# Q* B* p# H+ e同态滤波处理的基本流程如下:* u2 }7 Y/ O ^0 P
9 ^! [; C j- v5 l, ^; ?6 [
S(x,y)---->Log---->DFT---->频域滤波---->IDFT---->Exp---->T(x,y)* f+ b) S# v. D O5 o! C; B
; S! I, P* o9 S7 b. I' P( g$ j! M
其中S(x,y)表示原始图像;T(x,y)表示处理后的图像;Log 代表对数运算;DFT 代表傅立叶变换(实际操作中运用快速傅立叶变换FFT);IDFT 代表傅立叶逆变换(实际操作中运用快速傅立叶逆变换IFFT);Exp 代表指数运算。3 u# p4 i+ C* x$ }, R9 F* F5 L
& n# Q4 X9 J2 T9 j1 e) @. G+ f# R下面是一张典型的同态滤波与其他图像处理方式的异同:( n/ l+ ?2 V6 c2 m/ F' r# F
- O! W* Z6 ~9 A+ h b8 O4 G n
( {! X4 _5 q- V3 C! G$ x& \
' q& e3 c9 U3 s4 o
' B6 J; E0 Y3 v* w8 [! w实现代码:( j' }4 R/ a: q2 |' N P& G
" D$ ?% Y* H) T9 L
- 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. k8 [/ m2 L8 s- d5 l' d - i( o1 |' @# n+ B
" h5 A7 K( x# t
实验发现,同态滤波有类似于高动态范围压缩的效果,比如可以把图像暗的部分提亮。" `+ S) j! R) d& z3 Q% R( m
& ]: A* x+ K* T+ L: C5 F
+ d5 d3 v+ T" s* ^! [! b. |0 s6 C' I) _下图为原始图像,属于低曝光的一幅图像:
8 ^+ `; I/ c8 ~" N' u, e/ F
$ A* O0 y: U* V% g5 n5 t: M$ Z
. G2 J L3 r& Q" q# t
' R0 |: M# ?% g/ Z
( ]+ Y- Z$ t8 J" Q* a同态滤波后:
8 u% j% [) L+ S$ G# F+ A8 |7 b9 o3 x- O; M) @
* A4 \2 h7 J: D7 I) c! d( g0 |& S* c
. T5 V: `# S1 M+ w* r2 y. j4 a
0 W( l2 G' k# \) `2 G9 A
- U3 b9 @, ?, _0 c9 n
|
|