[求助] 对图像进行同态滤波 显示时出错
各位高手,这是对图像进行同态滤波的matlab程序,正确的结果应为原图像与滤波后的图像同时显示在一个画面上,但是这儿却只显示滤波后的图像而不显示原图像。麻烦帮忙看一下吧!
ImageData=imread('e:\lena.bmp');
subplot(1,2,1)
imshow(ImageData)
% log对数
lnImg = log(double(ImageData));
% 2DFFT变换
FImg = fft2(lnImg);
% 设置同态滤波器
b= remez(21,[0 0.15 0.85 1],[0.2 0.2 1.4 1.4]);
[H,w] = freqz(b,1,128,'whole');
HFilt = ftrans2(b);
freqz2(HFilt);
% 滤波
hImg = filter2(HFilt,FImg,'same');
% 2DiFFT变换
gImg = ifft2(hImg);
% 取指数
Img1 = uint8((exp(abs(gImg))));
subplot(1,2,2);
imshow(mat2gray(Img1));