improved_mmse_filter_cvip() - An improved algorithm for MMSE filter.
new_image = improved_mmse_filter_cvip( imageP, noise_var, kernel_size, threshval)
Input parameters include:
- imageP - Input image can be gray image or rgb image of MxN size.
- noise_var - The variance of the noise.
- kernel_size - Block size of the filter. The block size is reduced until the gain factor is greater than threshold.
- threshval - The threshold in the algorithm.
Output Parameter include :
- new_image - The output image after filtering
This function begins the improved mmse restoration algorithm with window size of kernel_size and noise variance of noise_var. Noise-to-local-variance ratio for the largest window size is computed and if it meets the threshold criterion, then MMSE is computed. If not, the window size is reduced and the process continues until the criterion is met, or we are reduced to a 3x3 window.
1. Scott E Umbaugh. DIGITAL IMAGE PROCESSING AND ANALYSIS: Applications with MATLAB and CVIPtools, 3rd Edition.
% Read image imageP = imread('imp_mmse.bmp'); % noise variance noise_var = 300; kernel_size = 9; threshold = 0.6; % Call function new_image = improved_mmse_filter_cvip( imageP, 300, 9, 0.6); % Display input image figure;imshow(imageP);title('Input image'); % Display output image figure; imshow(new_image/255);title('Output image');