[Matlab] Fotoğraf Yumuşatma

matlab resim yumuşatmaMerhaba 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);

Sonuç:
matlab yumuşatma

Reklamlar