|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
+ O8 k5 ?' F" @! D* s% x
同态滤波:- |; ?" `* |- b9 B4 V1 U* I0 J; \
利用广义叠加原理对同态系统进行滤波。
7 }4 E8 J6 i" x& z% `& y( x
! K/ B' l; b% P# ?1 h5 I$ L) b" c' M同态滤波是把频率过滤和灰度变换结合起来的一种图像处理方法,它依靠图像的照度/ 反射率模型作为频域处理的基础,利用压缩亮度范围和增强对比度来改善图像的质量。使用这种方法可以使图像处理符合人眼对于亮度响应的非线性特性,避免了直接对图像进行傅立叶变换处理的失真。) V( y7 k( k% G0 T+ ~& t2 p& b5 S
7 N" I7 e! ^3 {同态滤波的基本原理是:将像元灰度值看作是照度和反射率两个组份的产物。由于照度相对变化很小,可以看作是图像的低频成份,而反射率则是高频成份。通过分别处理照度和反射率对像元灰度值的影响,达到揭示阴影区细节特征的目的。: F7 W+ Q, L2 u8 l; G1 K
$ K" I! ~: I' D y- X# b
1 ^ m+ q! n3 X5 i N5 V$ P; G" [同态滤波处理的基本流程如下:! t S: Q- A! Q& g1 n [
- o- @% k0 e1 \& m! {: l4 [S(x,y)---->Log---->DFT---->频域滤波---->IDFT---->Exp---->T(x,y), N( D# [! M! X* C* @
+ _) K; u w5 w- u+ ]其中S(x,y)表示原始图像;T(x,y)表示处理后的图像;Log 代表对数运算;DFT 代表傅立叶变换(实际操作中运用快速傅立叶变换FFT);IDFT 代表傅立叶逆变换(实际操作中运用快速傅立叶逆变换IFFT);Exp 代表指数运算。
$ x2 z% [3 z7 ^* r! S' f. e; I
下面是一张典型的同态滤波与其他图像处理方式的异同:
6 U; |) O& u! L+ o$ f) T3 P4 y, k, G: a) q4 W3 d9 k* Y q
( X0 U/ V( K, [# t4 S4 ? w% A# Q' A( k( I( D! l
7 A% M( K# @2 }+ `# e; I8 g
实现代码:/ \" {1 B, B9 v; j3 N
7 I/ H k$ i6 f% G- 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('同态滤波增强后');
9 {2 \( u9 W# I % P$ s; }& r' i" v9 X( [" ]4 Y+ D* N
* O6 x7 A* u. H* s8 {! W实验发现,同态滤波有类似于高动态范围压缩的效果,比如可以把图像暗的部分提亮。
" s( V3 Y5 I1 e- v C: O. T5 \ n4 f5 b% J
4 t" I6 k. C; F! M4 _1 O下图为原始图像,属于低曝光的一幅图像:0 G# {* o7 `: `, K$ s# [7 k/ H4 A
- K* q- p; H4 E' C. Y0 P( C% q& p
5 ]2 Z8 p- y8 ]. y, V: m4 P
# y9 H, i2 D9 E5 W; A$ T0 ~
2 L4 N# o, C9 l/ }- c0 O同态滤波后:
) O2 b8 ~7 b7 w! d6 O1 c; p0 ~/ c/ f7 O
5 b9 P$ ^ b6 p% m5 o3 _
: H3 a1 O, m- o6 k1 w
) E4 s: X" S$ S$ L* ?
% S6 F- h P6 r7 t |
|