MATLAB: Saving filtered image

filteredimagesaving

I have tested some code that applies homomorphic filtering to an image in the logarithmic space:
%%%%%log of image
im_l=log(1+im);
%%%%%DFT of logged image
im_f=fft2(im_l);
%%%%%Filter Applying DFT image
im_nf=H.*im_f;
%%%%Inverse DFT of filtered image
im_n=abs(ifft2(im_nf));
%%%%%Inverse log
im_e=exp(im_n);
When this process is complete, the image can be displayed using imshow(im_e,[]), but since im_e is of type double I cannot save it as per what is seen from the imshow statement…
Does anyone know how to solve this problem so that the image can be saved properly?
Many thanks!

Best Answer

% convert image to intensities
int_vals = mat2gray(im_e);
% save intensities using imwrite
imwrite(int_vals, 'filtered_image.png');