Resmin Frekans Domaindeki Islemleri
Resim
işlemedeki kullandığımız yontemlerin yanı sıra
resmin frekans domaine geçmesi ilede
bazı işlemler yaparız ve bu imge işlemede sıkça kullanılan yonlerdendir.
Daha önce filtreleme işlemini
konvolüsyon ile yapıyorduk. Frekans düzleminde ise çarpma işlemi ile
yapıyoruz.Frekans domain 'e geçiş ve
geri dönüş işlemleri için hesapsal yük fazladır.
Frekans domaine geçiş için
fourier dönüşümü kullanılır.
Bir resimin fourier transformu.
|
|
Burda resimin köşeleri 0 Hz ortalara doğru
gidildikçe frekans artar. fftshift komutu ile düşük frekanslar köşelerden ortalara
kaydırılır.
fftshift uygulandığında
|
Resimin Yüksek Frekanslarını Alma Uygulaması(High
Pass Filter)
Clear
I = imread('plaka.jpeg')
I_resize = imresize(I,[256
256])
I_gray = rgb2gray(I_resize);
figure
imshow(I_gray)
xlabel({'RESIM'});
F_I_gray = fft2(I_gray);
figure
F_I_gray = fftshift(F_I_gray);
imshow(F_I_gray)
%*************************mask********************************
mask1 = ones(256,256);
mask = zeros(256,256);
mask(30:226,30:226) = 1;
mask = mask1 - mask;
%mask =
imread('open_app.bmp');
%mask =
imresize(mask,[256 256]);
%mask = ones(256,256) -
mask;
figure
imshow(mask)
xlabel({'MASK'});
figure
imshow(mask.*F_I_gray)
xlabel({'mask.*F_I_gray'});
F_I_gray = mask.*F_I_gray;
F_I_gray = fftshift(F_I_gray);
figure
imshow(F_I_gray)
resim2 = ifft2(F_I_gray);
figure
imshow(resim2,[])
xlabel({'Filitre ile carpilmis resim'});
|
|
|
|
şimdi 3.resmin inverse fourierini aldığımda resmin
yüksek frekanlı kısımları kalacak
resim2 = ifft2(F_I_gray);
%kodu ile inverse fourier
transform yapılır.
|
|
|
Yüksek frekans resimdeki ayrıntılardır.Arabanın ön
ızgaraları çok ayrıntılı filtrelenmiş
resimdede oralar gözüküyor.
Resimin Düşük Frekanslarını Alma Uygulaması(Low Pass
Filter)
Sadece Mask ' ı değiştirecem. Eski flitrede
kenarları alıyordu şimdi ise kenarları almayacak.
mask = zeros(256,256);
mask(60:196,60:196) = 1;
|
|
|
|
|
|