数字图像处理同态滤波(matlab)
定義
一幅圖像可看成由兩部分組成,即
- fi代表隨空間位置不同的亮度(Illumination)分量,其特點是緩慢變化,集中在圖像的低頻部分。
- fr代表景物反射到人眼的反射(Reflectance)分量,其特點包含了景物各種信息,高頻成分豐富。
上式為同態濾波模型公式,其中,
0 < i ( x , y ) < 無 窮
和
0 < r ( x , y ) < 1
入射分量可以在0-無窮之間變化,反射分量只能在0-1之間變化,當反射分量為0時,說明物體將光全吸收,為黑色,當反射分量為1時,說明物體將光全反射,為白色。
同態濾波流程
同態濾波過程,分為以下5個基本步驟:
- 取對數
- 取對數結果做傅里葉變換
- 設計一個實中心對稱的頻域濾波器H(u,v),與上步傅里葉變換結果陣列相乘
- 傅里葉反變換,返回到空域
- 取指數,得空域濾波結果。
方框圖表示如下:
可以看出同態濾波的關鍵在于同態濾波器H(u,v)的設計,同態濾波的目的在于:對一幅光照不均勻的圖像,適當壓制亮度分量,增強反射分量,以此來實現亮度調整與對比度提升,從而改善圖像的視覺質量。
通過以上分析我們可以知道:同態濾波器可以由高通濾波器來實現,但是又不能完全截斷低頻成分,只要適當壓低即可,所以同態濾波器的函數表示如下:
其中,yL<1,yH>1,控制濾波器幅度的范圍。Hhp通常為高通濾波器,如高斯(Gaussian)高通濾波器、巴特沃茲(Butterworth)高通濾波器、Laplacian濾波器等。其中,yL< 1, yH >1,控制濾波器幅度的范圍。Hhp通常為高通濾波器,如高斯(Gaussian)高通濾波器、巴特沃茲(Butterworth)高通濾波器、Laplacian濾波器等。 其中,yL<1,yH>1,控制濾波器幅度的范圍。Hhp通常為高通濾波器,如高斯(Gaussian)高通濾波器、巴特沃茲(Butterworth)高通濾波器、Laplacian濾波器等。
如高通濾波器采用高斯高通濾波器則有如下形式:
同態濾波器對應的圖像表示如下:
其中, c為一個常數,控制濾波器形態,從低頻到高頻的斜率,c越大,斜坡帶越陡峭
matlab實現代碼
注意:取指數后一定要進行像素拉伸
%讀入圖片 img = imread('office.png'); img = rgb2gray(img); figure(1); subplot(2, 1, 1); imshow(img); title('Raw Image'); gamma_H = 2; gamma_L = 0.25; c = 0.25; D0 =100; f = double(img); f = log(f + 1);%取指數 F = fft2(f);%傅里葉變換 F=fftshift(F);%頻譜搬移 [height, width] = size(F); %設計一個同態濾波器 H = HomomorphicFiltering(gamma_H, gamma_L, c, D0, height, width); g=H.*F;%同態濾波 g = ifft2(ifftshift(g));%頻譜搬移,傅里葉逆變換 g = exp(g)-1; g = real(g); %拉伸像素值 new_img = Expand(g); subplot(2,1,2); imshow(new_img); title('Homomorphic Filtered Image(D0 = 100)');function new_img = Expand( img ) [height, width] = size(img);max_pixel = max(max(img));min_pixel = min(min(img));new_img=zeros(height,width);for i = 1 : heightfor j = 1 : widthnew_img(i, j) = 255 * (img(i, j) - min_pixel) / (max_pixel - min_pixel);endendnew_img = uint8(new_img); endfunction H = HomomorphicFiltering( gamma_H, gamma_L, c, D0, height, width )for i = 1 : heightx = i - (height / 2);for j = 1 : widthy = j - (width / 2);H(i, j) = (gamma_H - gamma_L) * (1 - exp(-c * ((x ^ 2 + y ^ 2) / D0 ^ 2))) + gamma_L;endend end運行結果
參考鏈接
圖像的同態濾波原理及實現
總結
以上是生活随笔為你收集整理的数字图像处理同态滤波(matlab)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天天生鲜1
- 下一篇: matlab人脸追踪,求大神帮助我这个菜