Merhaba arkadaşlar, Matlab’da filtreler yardımı ile fotoğraf yumuşatma yapılabiliyor. Ancak bunu filtre kullanmadan döngüler aracılığı ile de yapabiliriz. Bu yazımda bir örnek ile bu uygulamayı gerçekleştireceğim.
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.
Seçilen resme yumuşatma filtrelerinden 3×3 ve 5×5 basit ortalama (averaging) filtresi uygulayarak resimlerin görüntülenmesi uygulaması.. Kitap isimli bir resim dosyasını yumuşatıyoruz.
Kodlar:
a=imread(‘kitap.jpg’);
b=rgb2gray(a);
b=im2double(b);
[w,h]=size(b);
for i=2:(w-1)
for j=2:(h-1)
fa=i-1;fb=i+1;fc=j-1;fd=j+1;
fk=b(fa,fc)+b(fa,j)+b(fa,fd)+b(i,fc)+b(i,j)+b(i,fd)+b(fa,fd)+b(fb,fc)+b(fb,j)+b(fb,fd);fm=fk*1/9;
cikis(i,j)=fm;
if i>2 & j>2 & i<(w-1) & j<(h-1)
fe=i-2;ff=i+2;fg=j-2;fh=j+2;
fk=b(fe,fg)+b(fa,fg)+b(fa,fh)+b(fb,fg)+b(fb,fh)+b(i,fg)+b(i,fh)+b(fe,fc)+b(fe,j)+b(fe,fd)+b(fe,fh)+b(ff,fg)
+b(ff,fc)+b(ff,j)+b(ff,fd)+b(ff,fh)+b(fa,fc)+b(fa,j)+b(fa,fd)+b(i,fc)+b(i,j)+b(i,fd)+b(fa,fd)+b(fb,fc)
+b(fb,j)+b(fb,fd);fm=fk*1/25;
cikisa(i,j)=fm;
end
end
end
subplot(1,3,1),subimage(b);
subplot(1,3,2),subimage(cikis);
subplot(1,3,3),subimage(cikisa);