picture = imread ('C:\Users\prempreet\Desktop\lena512color.tiff'); noisy_picture= imnoise (picture,'salt & pepper', 0.10) % image = picture(: , :);
image_red = picture (:, :, 1); image_green = picture (:, :, 2); image_blue = picture (:, :, 3); redChannel = noisy_picture(:, :, 1); greenChannel = noisy_picture(:, :, 2); blueChannel = noisy_picture(:, :, 3); %median = medfilt2 ( image );
red_median = medfilt2 (redChannel); blue_median = medfilt2 (blueChannel); green_median = medfilt2 (greenChannel); difference_red = abs (redChannel - red_median); difference_blue = abs (blueChannel - blue_median); difference_green = abs (greenChannel - green_median); difference_red = im2double (difference_red); difference_green = im2double (difference_green); difference_blue = im2double (difference_blue); [m n] = size (difference_red); while ( i == 2:m-1 && j == 2:n-1 ) a1 = [difference_red(i-1,j-1), difference_red(i-1,j), difference_red(i-1,j+1), difference_red(i,j-1), difference_red(i,j), difference_red(i,j+1),difference_red(i+1,j-1), difference_red(i+1,j), difference_red(i+1,j+1)]; b1 = [difference_blue(i-1,j-1), difference_blue(i-1,j), difference_blue(i-1,j+1), difference_blue(i,j-1), difference_blue(i,j), difference_blue(i,j+1), difference_blue(i+1,j-1), difference_blue(i+1,j), difference_blue(i+1,j+1)]; c1 = [difference_green(i-1,j-1), difference_green(i-1,j), difference_green(i-1,j+1),difference_green(i,j-1), difference_green(i,j), difference_green(i,j+1), difference_green(i+1,j-1), difference_green(i+1,j), difference_green(i+1,j+1)]; a2 = a1(a1<=0.7); b2 = b1 (b1<= 0.7); c2 = c1 (c1<=0.7); med_red (i,j)= median (a2); med_blue (i,j)= median (b2); med_green (i,j)= median (c2);
the code doesnt go into the loop…….
Best Answer