Görüntü Filtreleme
Filtreleme resmin üzerinde bir filtre varmış gibi düşünüp her piksel değerinin yeniden hesaplanmasıdır. Filtreleme sayesinde görüntü üzerinde netleştirme, belirli ayrıntıları ortaya çıkarma, görüntüyü yumuşatma, kenar keskinleştirme veya kenar bulma gibi işlemler gerçekleştirilir. Filtreler genelde 3×3 lük matrislerdir. Fakat boyutları 5×5, 7×7, 9×9, 11×11 şeklinde olabilir.
Filtreleme resmin üzerinde bir filtre varmış gibi düşünüp her piksel değerinin yeniden hesaplanmasıdır. Filtreleme sayesinde görüntü üzerinde netleştirme, belirli ayrıntıları ortaya çıkarma, görüntüyü yumuşatma, kenar keskinleştirme veya kenar bulma gibi işlemler gerçekleştirilir. Filtreler genelde 3×3 lük matrislerdir. Fakat boyutları 5×5, 7×7, 9×9, 11×11 şeklinde olabilir.
Filtreler ve Amaçları
1-Average Filtresi
Resimdeki her piksel yerine komşuları ile beraber ortalaması alınarak yeniden hesaplanır. Resimdeki gri düzeyler arasında keskin geçişler azalır; daha yumuşak geçişler söz konusudur. Resim üzerindeki kenarlarda bulanıklaşmaya (blur) yol açarlar.
Resimdeki her piksel yerine komşuları ile beraber ortalaması alınarak yeniden hesaplanır. Resimdeki gri düzeyler arasında keskin geçişler azalır; daha yumuşak geçişler söz konusudur. Resim üzerindeki kenarlarda bulanıklaşmaya (blur) yol açarlar.
% Average Filtresi
ResimOrjinal=imread('FiltreOrnekResim.jpg'); %Resim Yüklendi.
ResimOrjinal=im2double(ResimOrjinal); %Double tipine çevrildi.
hAverageFiltresi=fspecial('average',3); %maske 3x3lük
averageFiltresi=imfilter(ResimOrjinal,hAverageFiltresi,'replicate');
figure;
subplot(1,2,1);
imshow(ResimOrjinal);
title('Resmin Orjinal Hali');
subplot(1,2,2);
imshow(averageFiltresi,[]);
title('Average Filtresi');
- Ekran Görüntüsü
2-Gaussian Filtresi
Ortalama filtrenin Gaussian dağılımını kullanarak biraz daha değiştirilmiş hali Gaussian filtresi olarak bilinir. Gaussian filtreleme aynı zamanda bir fourier dönüşümüdür. Gauss filtre ile sonsuz bir transfer fonksiyonuna karşılık mekansal alanda sonlu bir pencerede (tarama penceresi) filtreleme yapılabilmektedir. Bu da filtrelemenin temel problemini daha kolay çözülebilir hale getirir.
Gauss Yumuşatmasının Avantajları: Filtreleme önce yatay ardından çıkan sonuçla düşey eksende gerçekleştirilebilir.
% Gaussian Filtresi
ResimOrjinal=imread('FiltreOrnekResim.jpg'); %Resim Yüklendi.
ResimOrjinal=im2double(ResimOrjinal); %Double tipine çevrildi.
hGaussionFiltresi=fspecial('gaussian',3,2); %maske 3x3lük
gaussianFiltresi=imfilter(ResimOrjinal,hGaussionFiltresi,'replicate');
figure;
subplot(1,2,1);
imshow(ResimOrjinal);
title('Resmin Orjinal Hali');
subplot(1,2,2);
imshow(gaussianFiltresi,[]);
title('Gaussion Filtresi');
- Ekran Görüntüsü
3-Medyan Filtresi
Bu filtreleme yönteminde, orjinal sıralanmış piksel komşularının arasındaki ortanca değer ile değiştirilir. Bunun ağırlıklı ortalama filtrelerinden farkı şudur: Ağırlıklı ortalama filtrelerinde, komşuların ağırlıklı ortalaması alınır, hesaplanan bu değer orijinal piksel ile yeniden ortalanarak sonuç bulunur. Ortanca filtresinde ise, komşuluk değerleri önce sıraya konulur, sonra ortadaki değer alınır. Bu değer doğrudan sonuç kabul edilir. Ortanca değeri net elde edebilmek için genellikle tek sayıda komşu seçilir. Eğer hesaplamada çift sayıda komşu kullanılırsa, bu durumda ortada kalan iki pikselin aritmetik ortalaması kullanılır.
Ortanca filtre; Uzaysal çözünürlüğü bozmadan, kopuk (bağımsız) nokta veya çizgi gürültülerini temizlemek için kullanışlıdır. Bu nedenle ikili (binary) gürültülerde başarılı olmasına rağmen Gaussian gürültüsünde kullanışlı değildir. Gürültü piksellerinin sayısı komşu piksellerin yarısına eşit veya daha fazla ise bu filtre pek başarılı çalışmaz.
% Medyan Filtresi
ResimOrjinal=imread('eight.tif');
tuzBiber=imnoise(ResimOrjinal,'salt & pepper',0.02); % tuz ve biber gürültüsü ekle
medyanFiltresi=medfilt2(tuzBiber);
figure;
subplot(1,2,1);
imshow(tuzBiber);
title('Resmin Tuz ve Biber Gürültülü Hali');
subplot(1,2,2);
imshow(medyanFiltresi);
title('Medyan Filtresi');
- Ekran Görüntüsü
4-Unsharp Filtresi
Resimdeki ayrıntıları, keskin geçişleri belirginleştirmek, bulanıklaştırılmış görüntülerdeki ayrıntıları yeniden ortaya çıkarmak için kullanılır. Endüstriyel ve askeri alanda, tıbbi çalışmalarda ve diğer birçok alanda yararlıdır.
% Unsharp Filtresi
ResimOrjinal = imread('moon.tif');
hUnsharpFiltresi = fspecial('unsharp');
unsharpFiltresi = imfilter(ResimOrjinal, hUnsharpFiltresi);
figure;
subplot(1,2,1);
imshow(ResimOrjinal);
title('Resmin Orjinal Hali');
subplot(1,2,2);
imshow(unsharpFiltresi);
title('Unsharp Filtresi');
- Ekran Görüntüsü
5-Motion Filtresi
Görüntüyü hareket esnasında çekilmiş gibi algılanmasına sebep olur.
% Motion Filtesi
ResimOrjinal = imread('moon.tif');
hResimOrjinal = fspecial('motion', 50, 45);
motionBlurFiltresi = imfilter(ResimOrjinal, hResimOrjinal);
figure;
subplot(1,2,1);
imshow(ResimOrjinal);
title('Resmin Orjinal Hali');
subplot(1,2,2);
imshow(motionBlurFiltresi);
title('Motion Filtesi');
- Ekran Görüntüsü
6-Blurring Filtresi
Görüntüyü bulanıklaştırır.
% Blurring Filtresi
ResimOrjinal = imread('moon.tif');
hBlurringFiltresi = fspecial('disk',10);
blurred = imfilter(ResimOrjinal,hBlurringFiltresi);
figure;
subplot(1,2,1);
imshow(ResimOrjinal);
title('Resmin Orjinal Hali');
subplot(1,2,2);
imshow(blurred);
title('Blurring Filtresi');
- Ekran Görüntüsü