Yrd.Doç.Dr.Esra Tunç Görmüş Mekansal İyileştirme Doç. Dr. Oğuz Güngör Yrd.Doç.Dr.Esra Tunç Görmüş Karadeniz Teknik Üniversitesi Jeodezi ve Fotogrametri Mühendisliği Bölümü 61080 Trabzon ogungor@ktu.edu.tr etunc@ktu.edu.tr
Mekansal İyileştirme Radyometrik İyileştirme her piksele tek başına uygulanır Oysa, mekansal iyileştirme büyük çoğunlukla söz konusu pikselin gri değerini ona komşu olan piksellerin gri değerlerini kullanarak değiştirir. Mekansal iyileştirme büyük oranda mekansal frekansla ilgilenir Mekansal frekans birbirine komşu pikseller içinde en büyük ve en küçük gri değerler arasındaki farktır. Mekansal frekans görüntünün herhangi bir yerinde her birim mesafede parlaklık değerlerinde oluşan değişim olarak ta tanımlanır.
Düşük frekanslı veya yüksek frekanslı görüntü ? Eğer görüntüde yansıma değerleri arasında büyük değişim yoksa bu görüntülere düşük frekanslı görüntü denir. Eğer görüntüde çok kısa mesafelerde gri değerler arasında çok büyük değişimler varsa bu görüntülere de yüksek frekanslı görüntü diyoruz. Düşük mekansal frekanslı görüntü Sıfır mekansal frekanslı görüntü Yüksek mekansal frekanslı görüntü
Evrişim Süzgeci (Convolution Filtering) Evrişim Süzgeci görüntüde küçük piksel gruplarının ortalamasının alınmasıdır. Evrişim Süzgeci görüntünün mekansal frekans özelliklerini değiştirmek için kullanılır Evrişim süzgeci uygulanmış görüntünün herhangi bir (i,j) konumundaki piksel değeri (DNi,j), orijinal görüntüde aynı konum olan (i,j)’in etrafındaki piksel değerlerinin ağırlıklı ortalaması (yani, lineer kombinasyonu) şeklinde hesaplanır. Evrişim penceresinin boyutu genelde 3x3, 5x5, 7x7 gibi tek sayılardan oluşur. Evrişim penceresindeki rakamlar ortalama alınırken her piksele ait ağırlık değerleri olarak hizmet eder.
Evrişim Süzgeci Örneği Evrişim penceresi Orijinal Görüntü
Evrişim Süzgeci Örneği Örnek: q = 3 olsun fij= i’ inci satır j’inci sütundaki filtre katsayısı dij= fij’ in altına denk gelen orijinal görüntüdeki gri değer q = süzgecin boyutu (örnek: 3x3 veya 9x9 gibi) F = süzgeçteki katsayıların toplamı V = Süzgeçleme sonucu oluşan yeni gri değer. (Eğer V < 0 ise V=0 alınır.
Konvolüsyon(Evrişim) Konvolüsyon da aslında bir filtreleme işlemi, tek farkı filtrenin ters döndürülmesi Eğer filtre simetrik ise hiçbir değişiklik yok. a b c d e f g h Original Image Pixels r s t u v w x y z Filter eprocessed = v*e + z*a + y*b + x*c + w*d + u*e + t*f + s*g + r*h *
Gerçek Görüntü Örneği
Eğer evrişim süzgeci uygulanacak piksel görüntünün tam kenarında ise ne olacak? Cevap: Mesela evrişim süzgeci uygulanacak piksel görüntünün sol üst köşesinde olsun ve evrişim penceresi 3x3 olsun. Bu durumda görüntüdeki ilk satır ve ilk sütün kopyalanır. Eğer evrişim penceresi 5x5 olsaydı görüntüdeki ilk satır ve ilk sütün iki kere kopyalanır. Alternatif : Gerekli olan boş pikseller 0 ile doldurulur
Strange Things Happen At The Edges! (cont…) Images taken from Gonzalez & Woods, Digital Image Processing (2002) Filtered Image: Zero Padding Original Image Filtered Image: Replicate Edge Pixels
The Spatial Filtering Process Origin x a b c d e f g h i r s t u v w x y z * Original Image Pixels Filter Simple 3*3 Neighbourhood e 3*3 Filter eprocessed = v*e + r*a + s*b + t*c + u*d + w*f + x*g + y*h + z*i y Image f (x, y) Bu işlem, filtrelenmiş görüntü oluşturmak için orijinal görüntüdeki her bir piksel üzerinde tekrar edilir.
Bazı Basit Komşuluk Operatörleri Min Komşuluk içindeki en küçük piksel değerini orta piksele atar Max Komşuluk içindeki en büyük piksel değerini orta piksele atar Median Bu komşuluktaki değerlerin median (orta) değerini orta piksele atar. Bazen ortalama filtreden daha iyi çalışabilir.
Süzgeç Çeşitleri Toplamı Sıfır Olan Süzgeçler (Zero-Sum Filters) Yüksek Geçiren Süzgeçler (High-Pass Filters) Alçak Geçiren Süzgeçler (Low-Pass Filters)
Toplamı Sıfır Olan Süzgeçler Katsayılar toplamı sıfırdır Bu durumda F = 1 alınır Görüntüde gri değerlerin değişmediği bölgeler 0 değer üretir. Düşük frekanslı alanlarda daha düşük piksel değeri üretir. Yüksek frekanslı alanlarda daha yüksek piksel değeri üretir. Böylece görüntüdeki kontrastı arttırır. Bu yüzden bunlara kenar bulucu süzgeçler de denir Belli bir yönde uzanan kenarları bulmak için farklı evrişim süzgeçleri kullanılır Kenarları iyileştirirken diğer detayları yutma eğilimi vardır
Toplamı Sıfır Olan Süzgeçlere Örnek Prewitt (Horizantal) -1 -1 -1 0 0 0 1 1 1 Prewitt (Vertical) -1 0 1 Sobel (Horizantal) -1 -2 -1 0 0 0 1 2 1 Sobel (Vertical) 1 0 -1 2 0 -2 Bunlar genelde belli bir yöndeki kenarları bulmak için kullanılır. Yukarıdaki örnekler yatay ve düşey yöndeki kenarları iyileştirmek için kullanılır. Aşağıdaki örnekler ise Kuzey Doğu-Güney Batı yönündeki ve Kuzey Batı-Güney Doğu yönündeki kenarları iyileştirmek için kullanılır. Kuzey Doğu-Güney Batı -1 -1 2 -1 2 -1 2 -1 -1 Kuzey Batı-Güney Doğu 2 -1 -1 -1 2 -1 -1 -1 2
3x3 Kenar bulan süzgeç uygulanmış Ikonos KTU Kampus 3x3 Kenar bulan süzgeç uygulanmış 5x5 Yatay Süzgeç uygulanmış 5x5 Dikey Süzgeç uygulanmış 3x3 Sol dayagonal Süzgeç uygulanmış
Yüksek Geçiren Süzgeçler (High-Pass Filters) Bunlar frekans arttırıcı etki yapar Bu yüzden bu süzgeçlere kenar iyileştiriciler de denir Homojen pikseller arasındaki kenarları ortay çıkarır Toplamı sıfır olan süzgeçler gibi kenar bulucuların aksine sadece kenarları daha belirgin yapar, ama bunu yaparken diğer detayları ortadan kaldırıcı etki yapmaz.
Yüksek Geçiren Süzgeçlere Örnek Üç değişik 3x3’lük filtre örneği
Yüksek Geçiren Süzgeçler (High-Pass Filters) Düşük gri değere sahip bir piksel daha yüksek gri değere sahip komşu pikseller tarafından çevrelendiğinde yüksek geçiren filtreler uygulanırsa düşük gri değere sahip pikselin değeri daha da düşer. Örnek:
Yüksek Geçiren Süzgeçler (High-Pass Filters) Yüksek gri değere sahip bir piksel daha düşük gri değere sahip komşu pikseller tarafından çevrelendiğinde yüksek geçiren filtreler uygulanırsa yüksek gri değere sahip pikselin değeri daha da artar. Örnek:
Ikonos KTU Kampus 3x3 Yüksek Geçiren Süzgeç uygulanmış 5x5 Yüksek Geçiren Süzgeç uygulanmış
Alçak Geçiren Süzgeçler (Low-Pass Filters) Bu süzgeçler mekansal frekansı düşürürler Süzgeç penceresinin içerisinde kalan gri değerlerin basit anlamda ortalamaları alınır Bu sayede görüntüdeki gri değerler daha homojen hale getirilmiş olur. Bu yüzden de elde edilen resim bulanıklaşmış olur Bunu engellemek için genellikle ağırlıkları farklı düşük geçiren süzgeçler kullanılır
Alçak Geçiren Süzgeçlere Örnek Ağırlıklar eşit 3x3’lük alçak geçiren süzgeç örneği Ağırlıklar farklı 3x3’lük alçak geçiren süzgeç örneği
Ikonos KTU Kampus 3x3 Alçak Geçiren Süzgeç uygulanmış Ağırlıklar aynı 3x3 Alçak Geçiren Süzgeç uygulanmış Ağırlıklar Farklı
Basit ortalama filtre 1/9 Basit ortalama filtre Yumuşatma operasyonundan ortalama, en basit konumsal filtreye örnektir. Kısaca tüm piksellerin ortalamasını almaktır. Gürültüyü kaldırmak için kullanılır Kaba detayları ortaya çıkarmak için yararlıdır. 1/9 Basit ortalama filtre
Smoothing Spatial Filtering Origin x 104 100 108 99 106 98 95 90 85 1/9 * Original Image Pixels Filter 1/9 104 99 95 100 108 98 90 85 Simple 3*3 Neighbourhood 3*3 Smoothing Filter 106 e = 1/9*106 + 1/9*104 + 1/9*100 + 1/9*108 + 1/9*99 + 1/9*98 + 1/9*95 + 1/9*90 + 1/9*85 = 98.3333 y Image f (x, y) Bu işlem, yumuşatılmış görüntü oluşturmak için orijinal görüntüdeki her bir piksel üzerinde tekrar edilir.
Image Smoothing Example Images taken from Gonzalez & Woods, Digital Image Processing (2002) 500*500 pixel boyutunda orijinal görüntü 3, 5, 9, 15 and 35 boyutlarında ortalama filtre uygulanmış halleri Küçük detayların nasıl kaybolmaya başladığına dikkat edin.
Image Smoothing Example Images taken from Gonzalez & Woods, Digital Image Processing (2002)
Image Smoothing Example Images taken from Gonzalez & Woods, Digital Image Processing (2002)
Image Smoothing Example Images taken from Gonzalez & Woods, Digital Image Processing (2002)
Image Smoothing Example Images taken from Gonzalez & Woods, Digital Image Processing (2002)
Image Smoothing Example Images taken from Gonzalez & Woods, Digital Image Processing (2002)
Image Smoothing Example Images taken from Gonzalez & Woods, Digital Image Processing (2002)
Örnekler Yumuşatma işlemi ile küçük detaylardan kurtulup sadece büyük detayları sona bırakıp, eşik değeri ile istediğimiz büyük nesneleri bulabiliriz. Images taken from Gonzalez & Woods, Digital Image Processing (2002) Original Image Smoothed Image Thresholded Image
Ortalama filtre-Median filtre Original Image With Noise Image After Averaging Filter Image After Median Filter Images taken from Gonzalez & Woods, Digital Image Processing (2002)
Averaging Filter Vs. Median Filter Example Images taken from Gonzalez & Woods, Digital Image Processing (2002)
Averaging Filter Vs. Median Filter Example Images taken from Gonzalez & Woods, Digital Image Processing (2002)
Averaging Filter Vs. Median Filter Example Images taken from Gonzalez & Woods, Digital Image Processing (2002)
% low pass filtre clc clear all img=double(imread('glassware_noisy.png','png')); imshow(uint8(img)) [m n]=size(img); w = ones(3) for i=0:m-3 for j=0:n-3 sum=0; for k=1:3 for l=1:3 sum = sum + img(i+k,j+l)*w(k,l); end img1(i+1,j+1) = sum/9; img2 = uint8(img1); figure imshow(img2) %imwrite(img2,'deneme_IO_2_2014.png','png');
low pass filtre : örnek clc clear all img=(imread('glassware_noisy.png','png')); imshow(img) %img2=uint8(img); w=(ones(3,3))/9; %w(2,2)=1; img2 = uint8(imfilter(img,w)); %imwrite(img2,'deneme_alcak_g.png','png'); figure imshow(img2)
Median Filtre clc clear all img=double(imread('glassware_noisy.png','png')); [m n]=size(img); p=3; for i=1:m-p for j=1:n-p w=img(i:i+p-1,j:j+p-1); img2(i,j) = median(w(:)); end img2 = uint8(img2); imshow(img2) imwrite(img2,'median_filter_2015.png','png');