|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
: @- _: q$ y K& p% ^& \* {5 w
同态滤波:
# t/ u1 [( K, O! Y! a7 ?利用广义叠加原理对同态系统进行滤波。* B M: F" m: G" a" Z1 T) }5 J
$ c. w) I( r9 E3 A, x
同态滤波是把频率过滤和灰度变换结合起来的一种图像处理方法,它依靠图像的照度/ 反射率模型作为频域处理的基础,利用压缩亮度范围和增强对比度来改善图像的质量。使用这种方法可以使图像处理符合人眼对于亮度响应的非线性特性,避免了直接对图像进行傅立叶变换处理的失真。
2 z6 N4 n) ?( i( Q( J- `1 C* s- O
, y1 `- _- r. r1 _同态滤波的基本原理是:将像元灰度值看作是照度和反射率两个组份的产物。由于照度相对变化很小,可以看作是图像的低频成份,而反射率则是高频成份。通过分别处理照度和反射率对像元灰度值的影响,达到揭示阴影区细节特征的目的。/ ]$ h. \0 |& [6 ?/ A, S
6 H( T d% z% c( v
9 ?/ m( x$ d e1 a6 c2 {3 X
同态滤波处理的基本流程如下:
* ]/ S5 J* @6 n
7 ^5 [6 p1 m$ `' S. i& l+ MS(x,y)---->Log---->DFT---->频域滤波---->IDFT---->Exp---->T(x,y)3 ^4 a& h @! ^% T& @
( q$ A" B$ Y8 `( R0 ]/ @8 p
其中S(x,y)表示原始图像;T(x,y)表示处理后的图像;Log 代表对数运算;DFT 代表傅立叶变换(实际操作中运用快速傅立叶变换FFT);IDFT 代表傅立叶逆变换(实际操作中运用快速傅立叶逆变换IFFT);Exp 代表指数运算。& X. {/ u+ F | Y) l5 \
# A6 k+ @. N- q _# K: w" K下面是一张典型的同态滤波与其他图像处理方式的异同:
J# S2 Q% }$ g2 r
) \. A2 A; k; [4 f# R
* J0 u* J7 c" G8 X) R% h- w
l$ @, s L9 w% Z V" ]3 P: T6 \; ]8 D3 k
实现代码:& x. S: y% h* E# L4 A
. A+ u: R- M$ A% n ~6 S
- 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('同态滤波增强后');4 ^9 S+ V) p. X
5 t/ R4 t; W+ b9 f3 d8 L. O9 [" t Q0 K
实验发现,同态滤波有类似于高动态范围压缩的效果,比如可以把图像暗的部分提亮。7 T3 K0 D. ?# P6 X% j9 U, w$ x
" y# f2 m! E& M/ G1 b+ m
8 V: M0 D" X1 m# g6 E- t& Y5 ^下图为原始图像,属于低曝光的一幅图像:
! S+ L @ M4 c% E0 I$ w1 P X$ c
3 i) w* u8 w8 M* n/ E1 t6 j
9 ]2 R3 v/ E) M+ [* I; x
% C( g3 v# g& _9 ]* \7 d
) b/ x/ U& o6 O3 ?) I6 X: G1 P同态滤波后:8 j3 K! A; S- D& d& z9 i
1 v! x( n2 K2 D" D4 F. n
" v9 }* P6 P; }! r6 v" Z0 t9 o) p4 a. o0 ~. q- a5 `2 m
+ y( G& r3 {! z. M6 [
: R5 {) o" l3 E |
|