You are on page 1of 35

İMGE İYİLEŞTİRME

(IMAGE ENHANCEMENT)

Murat Özalp
Bilecik, 2009
İÇİNDEKİLER
7. IMAGE ENHANCEMENT (İMGE İYİLEŞTİRME)..........................................................4
7.1. Introduction (Giriş).......................................................................................4
7.2. Point Operations (Nokta İşlemleri)...................................................................7
7.2.1. Contrast Stretching (Karşıtlık Esnetme, Germe)...........................................8
7.2.2. Clipping and Thresholding (Kırpma ve Eşikleme)........................................10
7.2.3. Digital Negative (Sayısal Negatif).............................................................11
7.2.4. Intensity Level Slicing (Gri Seviyesi Dilimleme).........................................13
7.2.5. Bit Extraction (Bit Çıkarma)....................................................................14
7.2.6. Range Compression (Alan Sıkıştırma).......................................................14
7.2.7. Image Subtraction and Change Detection (İmge Çıkarma ve Değişiklik Tespit
Etme)............................................................................................................15
7.3. Histogram Modeling (Histogram Modelleme)...................................................15
7.3.1. Histogram Equalization (Histogram Eşitleme)............................................17
7.3.2. Histogram Modification / Specification (Histogram Değiştirme / Histogram
Belirtme).......................................................................................................18
7.4. Spatial Operations (Uzaysal İşlemler)............................................................19
7.4.1. Spatial Averaging and Spatial Low-pass Filtering (Uzaysal Ortalama ve Uzaysal
Alçak Geçiren Filtre)........................................................................................19
7.4.2. Directional Smoothing (Yönlü Yumuşatma)...............................................21
7.4.3. Median Filtering (Ortanca Filtresi)............................................................21
7.4.4. Unsharp Masking and Crispening (Keskinlik Maskelemesi ve kenar
Koyulaştırma).................................................................................................23
7.4.5. Spatial Low-pass, High-pass and Band-pass Filtering (Uzaysal Alçak-Geçiren,
Yüksek Geçiren ve Bant Geçiren Filtreleme)........................................................24
7.4.6. Inverse Contrast Ratio Mapping and Statistical Scaling (Ters Karşıtlık Oranı
Eşleştirme ve İstatistiksel Boyutlandırma)..........................................................24
7.4.7. Magnification and Interpolation [Zooming] (İmge Büyütme)........................25
7.4.8. Replication (Replikasyon)........................................................................25
7.4.9. Linear Interpolation (Doğrusal Çoğullama)................................................26
7.5. Transform Operations (Dönüşüm İşlemleri)....................................................27
7.5.1. Generalized Linear Filtering (Genelleştirilmiş Doğrusal Filtreleme)................27
7.5.2. Root Filtering (Kök Filtreleme).................................................................28
7.5.3. Generalized Cepstrum and Homomorphic Filtering (Genelleştirilmiş Cepstrum
ve Homomorfik Filtreleme)...............................................................................29
7.6. Multispectral Image Enhancement (Çoğul Tayflı İmge İyileştirme).....................29
7.6.1. Intensity Ratios (Yoğunluk Oranları).........................................................30
7.6.2. Log-Ratios (Logaritmik Oranlama)...........................................................31
7.6.3. Principal Components (Asıl Bileşenler)......................................................31
7.7. Falsecolor and Pseudocolor (Sahte Renklendirme)...........................................32
7.8. Color Image Enhancement (Renkli İmge İyileştirme).......................................33
7.9. Summary (Özet).........................................................................................34

2
ŞEKİLLER DİZİNİ
Şekil 1. Ayın ilk fotoğrafı (31 Temmuz 1964).............................................................4
Şekil 2. Örnekleme ve niceleme...............................................................................5
Şekil 3. Sayısal imge gösterimi.................................................................................6
Şekil 4. Frekans alanında imge iyileştirme.................................................................6
Şekil 5. Parlaklık değiştirme örneği ve histogramları...................................................8
Şekil 6. Karşıtlık değiştirme örneği ve histogramları....................................................9
Şekil 7. Karşıtlık esnetme dönüşüm fonksiyonu..........................................................9
Şekil 8. Karşıtlık esnetme örneği.............................................................................10
Şekil 9. Kırpma (solda) ve eşikleme (sağda) durumu.................................................10
Şekil 10. Orijinal imge (solda) ve kırpılmış hali (sağda).............................................11
Şekil 11. Orijinal imge (solda) ve eşikleme yapılmış hali (sağda)................................11
Şekil 12. Negatif alma işlemi..................................................................................11
Şekil 13. Orijinal resim (solda) ve tersi [negatif] (sağda)...........................................12
Şekil 14. İmge iyileştirmede kullanılan bazı basit dönüşüm fonksiyonları......................13
Şekil 15. Gri seviyesi dilimleme örneği....................................................................14
Şekil 16. İmge çıkarma işlemi................................................................................15
Şekil 17. İmge çıkarma işlemi................................................................................15
Şekil 18. 250x250 boyutunda 2 bit imgede histogram. .............................................16
Şekil 19. 250x250 boyutunda 2 bit imgede histogram...............................................16
Şekil 20. Parlak ve karanlık iki histogram örneği.......................................................16
Şekil 21. Düşük ve yüksek karşıtlık için iki histogram örneği......................................17
Şekil 22. Matlab’ta histogram görüntüleme..............................................................17
Şekil 23. Histogram eşitleme..................................................................................18
Şekil 24. Uzaysal ortalama filtreleme örneği.............................................................19
Şekil 25. Uzaysal ortalama filtre (maske) örnekleri...................................................20
Şekil 26. Gaussian filtre için örnek maskeler............................................................20
Şekil 27. Uzaysal ortalama filtreleme örneği.............................................................21
Şekil 28. Ortanca filtre uygulaması.........................................................................22
Şekil 29. Matlab’ta ortanca filtre uygulaması............................................................23
Şekil 30. Matlab’ta keskinlik maskelemesi uygulaması...............................................24
Şekil 31. Uzaysal filtreler.......................................................................................24
Şekil 32. İmge büyütme........................................................................................26
Şekil 33. 2x3 piksellik bir imgenin replikasyon ile 4x6 piksel yapılması........................26
Şekil 34. 2x2 piksellik bir imgenin doğrusal çoğullama ile 4x4 piksel yapılması.............27
Şekil 35. p.ninci çoğullama....................................................................................27
Şekil 36. Dönüşüm İşlemleri Filtrelemesi.................................................................27
Şekil 37. İmge büyütme........................................................................................28
Şekil 38. Frekans filtreleri......................................................................................28
Şekil 39. Homomorfik filtreleme.............................................................................29
Şekil 40. Genelleştirilmiş cepstrum ve homomorfik filtreleme.....................................29
Şekil 41. Bir imgenin farklı bantları.........................................................................30
Şekil 42. Bir imgenin farklı bantlarının oranları.........................................................31
Şekil 43. Bir imgenin farklı bantlarda ayrıştırılması....................................................32
Şekil 44. Pseudocolor sahte renklendirmesi..............................................................32
Şekil 45. Pseudocolor sahte renklendirme örneği......................................................33
Şekil 46. Renkli imge iyileştirmesi...........................................................................33

TABLOLAR DİZİNİ
Tablo 1. İmge iyileştirme için hafızasız filtreler...........................................................7

3
7. IMAGE ENHANCEMENT (İMGE İYİLEŞTİRME)
7.1. Introduction (Giriş)
İmge iyileştirmenin temel hedefi; belirli bir uygulama için, resmi orijinal halinden daha iyi
duruma getirmektir. İmge iyileştirme sürecinde her durumda aynı işlemler tekrarlanmaz.
Örneğin; X-ışını görüntüleri ve uydu görüntülerinde aynı iyileştirme yöntemlerinin
uygulanması doğru olmayabilir. Her görüntüye ve her amaca göre imge iyileştirme
araçları o duruma uygun olarak kullanılmalıdır.

Görüntü kalitesinin artırılması için bilgisayar tekniklerinin kullanılması 1964’te ay


fotoğrafları ile başladı. 1960’ların sonları 1970’lerin başlarında tıp alanında imge işleme
teknikleri kullanılmaya başlanmıştır. 1970’lerde CAT (Bilgisayarlı Tomografi) geliştirildi.1

Şekil 1. Ayın ilk fotoğrafı (31 Temmuz 1964).


“Ranger 7” tarafından ay ile çarpışmadan 17 dakika önce çekilmiştir.

İmge iyileştirme işlemlerinin, görüntü işleme açısından nerede durduğunu anlayabilmek


için, aşağıda sayısal fotoğraflar üzerinde imge işlemeye örnek olarak verilen “yüz tanıma”
sistemindeki işlem basamakları verilmiştir. Tabii ki farklı uygulamalarda bu basamaklar
değişiklik gösterebilir.
1. İmgenin Elde Edilmesi (Image Acquisition)
2. İmge İyileştirme (Image Enhancement)
3. Filtreleme ve Düzeltme (Filtering and Restoration)
4. Yüz Belirleme (Detection)
5. Yüz Düzenleme (Alignment)
6. Normalizasyon (Normalization)
7. Gösterim (Representation)
8. Eşleştirme (Matching)

İmge işlemenin sembolik ifadesi:


g ( x, y ) =T [ f ( x, y )]

Girdi imgesi
Operatör (İşlem)
İşlenmiş imge
İmge iyileştirmenin (image enhancement), imge yenileme (image restoration) ile
karıştırılmaması gerekir. İyileştirme özneldir yani kişiye (bakışa) göre değişir, yenileme
ise nesneldir. İyileştirmede her durum için farklı işlemler farklı seviyelerde
uygulanmaktadır, yenilemede ise yapılacak işlemler ve bunların seviyeleri önceden
belirlidir.

İmge İşlemenin Uygulama Alanları2


• Tıp ve biyoloji (x-ışınları, biyomedikal görüntüler…)

4
• Coğrafi bilimler (hava ve uydu görüntülerinden hava tahmini)
• Eski, hasar görmüş fotoğrafların onarılması, GPR-mayın tarama, arkeolojik
kalıntıların tespiti
• Oyun Programlama ( bilgisayarda görü, 3-B modelleme)
• Fizik (spektrometreler, elektron mikroskobu görüntüleri)
• Uzay bilimleri (uydu, mikrodalga radar görüntüleri…)
• Savunma sanayi (gece görüş, akıllı roket sistemleri…)
• Endüstriyel uygulamalar (süreç, ürün denetimi…)
• Tüketici elektroniği (Video kayıt cihazları, cep telefonları…)
• Biyometrik tanıma ve güvenlik sistemleri (iris-parmak izi tanıma, güvenlik-kamera
uygulamaları)
• Uzaktan algılama

Renk Skalası, Niceleme ve Örnekleme3


“Örnekleme” terimi koordinat değerlerini sayısallaştırma için kullanılır. Genlik değerlerini
sayısallaştırma için ise “nicemleme” veya “niceleme” terimi kullanılır.

Şekil 2. Örnekleme ve niceleme

Renk skalası; bir imgeyi oluşturan tüm renklerin bir yelpaze halinde yayılmış haline denir.
İmge siyah-beyaz ise skala siyah’tan beyaza kadar giden gri yelpazedir. İmge renkli ise,
skala morötesi ile kızılötesi arasında yer alan tüm renklerin bulunduğu bir yelpazedir.

Renkli skala:

Gri skala:

Bir skalada en fazla değer L ile gösterilir. Bu durumda imgedeki her bir nokta 0 ile L-1
arasında genlik değeri ile ifade edilir. İki boyutlu bir imgede her bir noktayı betimleyen en
az 3 adet değer (2 adet koordinat ve 1 adet genlik) bulunmalıdır. [0, L-1] aralığına da
imgenin “dinamik aralığı (dynamic range)”denir.

5
Şekil 3. Sayısal imge gösterimi

İmge İyileştirme Yöntemleri


• Uzaysal Alan (Spatial Domain) : Resim düzleminin kendisidir. Pikseller üzerinde
doğrudan işlem yapılır.
• Frekans Alanı (Frequency Domain) : Resmin Fourier dönüşümü üzerinde değişiklik
yapmaya dayanır.

Filtre
Fourier fonksiyonu Ters Fourier
dönüşümü H(u,v) dönüşümü

F(u,v) H(u,v)F(u,v)

Son
Ön işleme
işleme

f(x,y) giriş g(x,y)


sinyali iyileştirilmiş
sinyal
Şekil 4. Frekans alanında imge iyileştirme

İşlem Formül Açıklama


 αu , 0≤u <a
1. Contrast Stretching  α, β ve γ eğrileri bağıl karşıtlık
f (u ) = β (u − a) + v a , a ≤ u < b
(Karşıtlık Esnetme) artırımını belirler.
 γ (u − b) + v , b ≤ u < L
 b

2. Noise clipping and  0, 0 ≤ u < a Gri seviye dağılımı düzensiz olan ikili
 ve diğer imgelerde kullanışlıdır. a ve
treshoolding f (u ) = αu , a ≤ u ≤ b b, histogramın tepeleri arasında bir
(gürültü kırpma ve  L, vadi belirler. a=b=t değeri için bu
 u ≥b
eşikleme) duruma eşikleme adı verilir.
3. Gray scale reversal f (u ) = L − u İmgenin sayısal olarak tersini
(Gri skala tersleme) (negatif) verir.

6
4. Gray-level Windows L, a ≤u ≤b a ve b değerleri aralığında bulunan
slicing f (u ) =  pikselleri tamamen aydınlatır. Arka
0, aksi halde zemini silmek için kullanılır.
(Gri Seviyesi Dilimleme)
f (u ) = (in − 2in −1 ) L B= “u sayısını tamsayı olarak
5. Bit extraction tanımlamak için kullanılan bit sayısı”.
 u 
(Bit çıkarma) i n = Int  B −n , n = 1,2,...., B
2  Bu bize, n’inci en değerli biti verir.

f (u ) = 2u mod ulo ( L +1), 0 ≤u ≤ L Yüksek değerli biti siler.

6. Bit removal u 
f (u ) = 2 Int  
(Bit Silme) 2 
Düşük değerli biti siler.
v = c log10 (1 + u ), u ≥0
7. Range compression ∆ L Karşıtlık dönüşümünün yoğunluğu.
Aralık Sıkıştırma c=
log 10 (1 + L)
Tablo 1. İmge iyileştirme için hafızasız filtreler

7.2. Point Operations (Nokta İşlemleri)


Nokta işlemleri hafızasız işlemler olarak bilinir. Bunun sebebi, yeni oluşturulan resimdeki
bir nokta hesaplanırken, orijinal resimdeki aynı koordinattaki tek bir piksel işleme girer.
Bir pikselin diğer bir piksel üzerine etkisi yoktur. Kabaca, aşağıdaki gibi gösterilir:
v = f (u )
Burada, “v” ile “u” [0,L] aralığında tanımlanan gri renk skalasının elemanıdırlar. “u”
elemanı, “f” ile belirtilen fonksiyona tabi tutulduğunda “v” isimli yeni eleman elde edilir.

En basit nokta işlemi parlaklık değiştirmedir. Basitçe aşağıdaki gibi ifade edilir:
g ( x, y ) = f ( x , y ) + b
Bu ifadede x,y koordinatları ile belirtilen noktanın gri skala değerine doğrudan b kadar
ekleme yapılıyor. b sayısı pozitif ise parlaklık artar, sayı negatif ise parlaklık azalır.
Aşağıda parlaklık değiştirme ile ilgili örnek fotoğraflar gösterilmiştir.

(a)

(b)

7
(c)

Şekil 5. Parlaklık değiştirme örneği ve histogramları.


(a) orijinal fotoğraf. (b) azaltılmış parlaklık. (c) arttırılmış parlaklık.

7.2.1. Contrast Stretching (Karşıtlık Esnetme, Germe)


Karşıtlık (kontrast), imgedeki açık ve koyu renkler arasındaki farkların daha çok veya az
olması şeklinde ifade edilebilir. Karşıtlık artırma basitçe aşağıdaki şekilde ifade edilir:
g ( x, y ) = a. f ( x, y )
Bu ifadede; x,y koordinatları ile belirtilen her bir noktanın gri skala değeri “a” sayısı ile
çarpılmaktadır. Genel imgenin karşıtlığı ise a değeri 1’den büyükse artarken, a’nın 1’den
küçük olması durumunda karşıtlık azalır.

Bazı durumlarda da karşıtlık ve parlaklık değiştirmesi aşağıdaki gibi beraber kullanılabilir:


g ( x, y ) = a. f ( x, y ) +b

Aşağıda aynı imgenin farklı karşıtlık değerleri görülmektedir. Karşıtlık ayarlamanın özel
bir biçimi ileride göreceğimiz eşikleme (tresholding) olarak karşımıza çıkmaktadır.

(a)

(b)

8
(c)

Şekil 6. Karşıtlık değiştirme örneği ve histogramları.


(a) orijinal fotoğraf. (b) azaltılmış karşıtlık. (c) arttırılmış karşıtlık.

Karşıtlık esnetmenin grafiksel ifadesi aşağıdaki şekilde gösterilmiştir.


V

γ
Vb

Va
α u

a b L
Şekil 7. Karşıtlık esnetme dönüşüm fonksiyonu.
Koyu bölgelerde: α > 1, a ≅ L / 3
Orta koyulukta bölgelerde: β >1, b ≅ 2 3 L ve parlak bölgelerde: γ >1

Karşıtlık esnetmenin karşıtlık artırmadan farkı dinamik olmasıdır. Esnetme hesaplanırken;


her noktanın değeri sabit bir sayı ile çarpmak yerine, her noktanın histogramdaki yerine
göre farklı bir sayı ile çarpılarak hesaplanır. Bu işlem sonucunda, mevcut histogram fazla
bozulmaz, sadece iki yana doğru esnetilmiş olur. Bu nedenle bu tekniğe karşıtlık esnetme
adı verilir. Aşağıda karşıtlık esnetme örneği görülmektedir:

(a) (b)

9
(c) (d)
Şekil 8. Karşıtlık esnetme örneği.
(a) orijinal imge, (b) orijinal histogram
(c) dönüşüm fonksiyonu, (d) esnetilmiş karşıtlık

MATLAB’ta karşıtlık esnetme:


r1= imread('edebali.jpg');
figure,imshow(r1);
m=127; E=10;
g=1./(1+(m./double(r1)+eps).^E);
figure,imshow(g);

7.2.2. Clipping and Thresholding (Kırpma ve Eşikleme)


Karşıtlık esnetmenin özel bir formu α = γ = 0 durumudur, bu işleme kırpma adı verilir.
Giriş sinyalindeki renk değerleri sadece a a ve b arasında olduğu durumlarda, gürültü
temizlemek için kullanılır. Veya başka bir deyişle, aralıktaki değerlerin dışındaki renk
değerleri önemli değil ise, kırpma kullanılabilir. İşlem sırasında belirli bir fmin ve fmax
aralığındaki renk değerleri tüm skalaya yayılır.

Örneğin 8 bit gri skalalı bir resimde; fmin=80 ve fmax=140 ise, buna kırpma
uygulandığında, 80 ve altındaki renk değerleri tam siyaha çekilir, 140 ve üzerindeki
değerler de tam beyaza çekilir. Böylece 80 ve 140 arasında bulunan 60 değer, 256
seviyelik skalaya yayılır.

Kırpma işleminin bir değişik durumu da eşikleme olarak adlandırılır. Eşikleme



yapılabilmesi için a = b = t eşitliği sağlanmalıdır. Eşikleme yapıldığında imge iki bitlik gri
skalaya dönüşür yani sadece “siyah” ve “beyaz” kalır. Başka bir deyişle, belirlenen eşik
değerinin üstündeki değerlikli tüm pikseller beyaz yapılır; eşiğin altında kalanlar da siyah
yapılır. Üçüncü bir alternatif olamaz. Şu şekilde de ifade edilebilir:
fmin=fmax=”eşik değeri”.

Aşağıda kırpma ve eşikleme için dönüşüm fonksiyonları verilmiştir.

v v

a b u u
Şekil 9. Kırpma (solda) ve eşikleme (sağda) durumu

10
Aşağıdaki resimlerde de kırpma ve eşikleme örnekleri verilmiştir.

Şekil 10. Orijinal imge (solda) ve kırpılmış hali (sağda)

Şekil 11. Orijinal imge (solda) ve eşikleme yapılmış hali (sağda)

7.2.3. Digital Negative (Sayısal Negatif)


Bir resmin negatifini bulmak için, her bir noktanın renginin tümleyeni alınır. Yani skala
büyüklüğü L ise, rengin değeri L değerinden çıkarılarak her bir noktanın tersi bulunmuş
olur. Aşağıda, sayısal negatif alma işleminin dönüşüm fonksiyon grafiği verilmiştir.

v
L

0 L u
Şekil 12. Negatif alma işlemi

11
Şekil 13. Orijinal resim (solda) ve tersi [negatif] (sağda)

İmgenin renk skalasının boyutu L olsun. Her nokta için gri düzeyler (r), [0, (L-1)]
aralığında olacaktır. Bu durumda, resmin negatifi şöyle bulunabilir:
s = (L-1)-r
s: noktanın negatif renk değeri
r: noktanın renk değeri
L: renk skalasının boyutu

Örnek: 256 renkli gri skala biçiminde bir imgede renk değeri 10 olan bir noktanın negatif
değeri şöyle bulunabilir:
s=(L-1)-r
s=(256-1)-10
s=245

MATLAB’ta resmin tersini elde etme:


imge = imread('edebali.jpg');
ters = imcomplement(imge);
imshow(imge);
figure,imshow(ters);

Aşağıdaki şekilde, 256 renk gri skaladaki renk değerini değiştirmek için kullanılan bazı
diğer dönüşüm fonksiyonları görülmektedir.

12
Görüntünün parlaklığı (%)

Piksel renk değeri


Şekil 14. İmge iyileştirmede kullanılan bazı basit dönüşüm fonksiyonları

7.2.4. Intensity Level Slicing (Gri Seviyesi Dilimleme)


Belirli bir gri seviyesi aralığının belirginleştirilmesi için kullanılır. Belirginleştirme için gri
seviyesi 255 (8 bit için) yapılabilir veya olduğu gri seviyesinde bırakılabilir. Uygulamada;
uydu görüntülerinde su bölgelerinin, kemiklerdeki çatlakların belirginleştirilmesi gibi
kullanım alanları vardır.

(a) (b)

(c) (d)

13
Şekil 15. Gri seviyesi dilimleme örneği.
(a) A ve B aralığındaki değerler öne çıkarılmış, diğer tüm gri seviyeleri sıfırlanmış.
(b) A ve B aralığındaki değerler öne çıkarılmış, diğer tüm gri seviyeleri olduğu gibi bırakılmış.
(c) İşlenecek imge
(d) a şıkkındaki fonksiyonun imgeye uygulanmış hali.

Gri seviyesi dilimleme fonksiyonu basitçe aşağıdaki gibi ifade edilmektedir:


L, a ≤u ≤b
Arka planda imge yoksa: f (u ) = 
0, aksi halde
L, a ≤u ≤b
Arka planda imge varsa: f (u ) = 
u , aksi halde

7.2.5. Bit Extraction (Bit Çıkarma)


Her imge noktası, B sayıda bit ile nicelenmektedir (quantization). Bit çıkarma, bir
noktanın ikili sayı sistemindeki ifadesinde, n. yüksek ağırlıklı biti (most significant bit,
MSB) almak için kullanılır. Bir noktanın renk değerinin aşağıdaki şekilde ikilik olarak ifade
edildiğini varsayalım:
u = k1 2 B −1 + k 2 2 B −2 + ........ + k n 2 B −n + k B
Fonksiyonun çıkışı şu şekilde yazılabilir:
L, k n =1 ise
f (u ) = 
0, aksi halde
Örneğin; 8 bit gri-skala bir imgede, 1. MSB (yüksek ağırlıklı bit) için bit çıkarma işlemi
yaptığımızı varsayalım. İmgenin her bir noktası şu şekilde hesaplanır: Soldan itibaren ilk
biti 1 olan her noktanın gri değeri 255 olurken, diğer noktaların gri değeri 0 olacaktır.

Bit çıkarma işlemi, bir imgede hangi değerlikli bitlerin görüntüde etkili olduğunun
bulunması için kullanılmaktadır. Tahmin edilebileceği gibi, sadece baştaki birkaç bit
imgenin çoğunu oluşturmaktadır. Aşağıdaki örnekten bu anlaşılabilir:

Örnek: (10111111)2 sayısı onluk sistemde 191 sayısına karşılık gelir. Onlu sayı
sisteminde 192 sayısı ise, ikili sistemde (11000000) 2 sayısına karşılık gelir. 256 renk gri
skalada 191 ve 192 renk değerleri arasında çok çok az fark vardır. Onlu sistemde
birbirine çok yakın olan iki sayının ikili karşılığında yüksek ağırlıklı bitler aynı iken düşük
ağırlıklı bitler çok fazla değişebilmektedir. Buradan yüksek ağırlıklı bitlerin renk değerinin
belirlenmesinde daha etkin olduğu anlaşılmaktadır.

7.2.6. Range Compression (Alan Sıkıştırma)


İnsan gözünün karşıtlık algılayabilme oranı 108:1 ‘e kadar çıkabilmektedir. Normal
zamanlarda ise ortalama karşıtlık algılama oranımız, 3x104 civarındadır4. Yani %100 siyah
ile %100 beyaz arasında bu kadar seviyede renk görebilmektedir.

Gerçek dünyada her şey yüksek dinamik aralıklıdır. Oysa sayısal dünyada yüksek dinamik
aralığı kullanmak kolay değildir. Aynı kadrajda hem aydınlık hem de karanlık bölgeler
içeren bir fotoğraf çekildiğinde, bu durum görülmektedir. Bu tarz fotoğraflarda ya karanlık
veya aydınlık bölgelerden birisindeki veriler kaybedilir veya fotoğrafın tamamı soluk
çıkmaktadır. Bunun nedeni; görüntü kaydedip sayısallaştıran cihazların gerçek dünyadaki
dinamik aralığı yakalayamamasındandır. Bu nedenle özelikle yüz tanıma sistemlerinde,
yüzlerde koyu gölge olan kısımları görebilmek için “dinamik aralık sıkıştırma” ve “karşıtlık
iyileştirme” çokça kullanılan yöntemlerdendir.

Bazen imgenin dinamik aralığı çok fazla olabilir. Bu tarz durumlarda mesela sadece birkaç
pikselin görülebildiği dahi olabilir. Logaritmik bir dönüşüm ile dinamik aralık sıkıştırılabilir.
Aşağıda bu dönüşüm verilmiştir:
v = c log 10 (1 + u )

14
Formüldeki c sayısı, istenen seviyede sıkıştırmayı sağlamak için kullanılan bir sabittir. Bu
dönüşüm; yüksek genlikli noktalara nazaran, düşük genlikli noktaların iyileştirilmesini
sağlamaktadır.

7.2.7. Image Subtraction and Change Detection (İmge Çıkarma ve Değişiklik


Tespit Etme)
Uygulamada sıklıkla iki farklı karmaşık imgenin karşılaştırılması gerekmektedir. Bunu
sağlamak için basit ve güçlü bir yöntem iki imgeyi üst üste yerleştirmek ve birini
diğerinden çıkarmaktır. Bunun sonrasında fark imgesi üzerinde iyileştirme yapılır.
Örneğin, bir elektronik devre üzerinde eksik malzeme olup olmadığını anlamanın en kolay
yolu, devrenin fotoğrafının orijinal sağlam devre fotoğrafından çıkarılmasıdır. Başka bir
uygulama alanı da vücuttaki kan damarları ve arterlerdir. Kana kızılötesi cihazlarda farklı
renk veren bir boya maddesi enjekte edildikten sonra damarların röntgen fotoğrafı alınır.
Bu fotoğraf enjeksiyondan önce alınan fotoğraftan çıkarılır. Bu şekilde damarlarda izlenen
yol görülmüş olur. Benzer şekilde güvenlik sistemlerinde, elektronik baskı devrelerin seri
üretiminde ve benzeri alanlarda da endüstriyel kullanımı vardır.

Aşağıdaki şekillerde imge çıkarma uygulamaları görülmektedir.5

Şekil 16. İmge çıkarma işlemi.


(a) orijinal fotoğraf; (b) bir para yer değiştirdikten sonra; (c) nokta-nokta çıkarımdan sonraki fark.

Şekil 17. İmge çıkarma işlemi.


Solda, orijinal fotoğraf. Sağda, çıkarım işlemi sonucunda eksik olduğu görülen eleman

7.3. Histogram Modeling (Histogram Modelleme)


Histogram, bir imge içerisindeki çeşitli renk değerlerinin tekrarlanma sıklığını (frekansını)
gösteren grafiktir. Histogram modelleme teknikleri, bir imgenin histogramını istenen
şekle getirmek için imge üzerinde yapılan düzenlemelerdir. Bu teknikler, histogram
üzerinde dar bir alanda yığılmaların olduğu (düşük karşıtlıklı) imgelerde kullanışlıdır.

15
Histogram Nedir?
Aşağıdaki şekillerde basit histogram örneği verilmiştir6. Şekilden de görüleceği üzere,
histogramlarda konum bilgisi bulunmaz, sadece frekans bilgisi bulunur. Aşağıda iki farklı
şeklin histogramlarının aynı olduğuna dikkat ediniz:

Şekil 18. 250x250 boyutunda 2 bit imgede histogram.

Şekil 19. 250x250 boyutunda 2 bit imgede histogram.

Karanlık imge

Aydınlık imge

Şekil 20. Parlak ve karanlık iki histogram örneği.

16
Düşük karşıtlık

Yüksek karşıtlık

Şekil 21. Düşük ve yüksek karşıtlık için iki histogram örneği.

Matlab’ta histogram görüntüleme


imge=imread('tire.tif');
h=imhist(imge);
figure, imshow(imge);
figure, imhist(imge);

800

600

400

200

0 50 100 150 200 250


Şekil 22. Matlab’ta histogram görüntüleme.

7.3.1. Histogram Equalization (Histogram Eşitleme)


Histogram dağılımı dengesiz olan, belirli bölgelerde yığılma olan imgelerde kullanışlıdır.
Bu tarz imgelerin karşıtlığı azdır ve histogram eşitleme sonrası daha iyi işlenebilir hale
gelebilir. Aşağıdaki şekillerden de görülebileceği gibi, histogram eşitlemede amaç,
renklerin frekanslarının histogram üzerinde bir yerde yığılmadan, düzgün dağılmasını
sağlamaktır.

17
(a) (b)

(c) (d)
Şekil 23. Histogram eşitleme.
(a)orijinal fotoğraf (b)orijinal histogram
(c)Histogram eşitlenmiş fotoğraf (d)eşitlenmiş histogram

Histogram eşitleme işleminde, olasılık dağılımına bağlı olarak doğrusal olmayan dönüşüm
gerçekleştirilir. Bu sayede bulunma olasılığı fazla olan piksellerin arası histogram üzerinde
daha fazla açılır.

Histogram eşitleme algoritması (8 bit gri-skala):


255
1. Yükseltme faktörünü d = şeklinde hesapla
top. nokta sayisi
2. İmgenin histogramını hesapla
3. İlk gri seviye eşleştirmesi için c[0] = d x histogram[0] şeklinde hesapla
4. Diğer tüm gri seviyeleri için: c[i ] = c[i −1] + d x histogram[i ] şeklinde hesapla
5. İmgenin tüm pikselleri için: g ( x, y ) = c[ f ( x, y ) ] şeklinde hesapla.

MATLAB’ta histogram eşitleme:


I = imread('tire.tif');
J = histeq(I);
figure, imshow(I), figure, imshow(J)

7.3.2. Histogram Modification / Specification (Histogram Değiştirme /


Histogram Belirtme)
Önceki konuda anlatıldığı üzere, histogram eşitleme işlemi gerekli olan dönüşüm
fonksiyonunu otomatik olarak belirliyordu. Otomatik iyileştirme işe yarayacağı
durumlarda bunu tercih etmek mantıklıdır. Çünkü eşitlemenin sonuçları öngörülebilir ve
uygulaması kolaydır. Bu konuda bahsedilen işlemler ise otomatik histogram dağılımının
iyi sonuç veremeyeceği durumlar içindir. Bazen elde etmek istediğimiz imgenin sahip
olması gereken histograma kendimiz karar vermek isteriz. Histogram belirtme yöntemleri
bu durumlarda kullanılır.7

18
7.4. Spatial Operations (Uzaysal İşlemler)
Birçok imge iyileştirme tekniği, uzaysal düzlemde giriş noktalarının komşuluğuna bağlı
olarak kullanılır. Sıklıkla imge, “uzaysal maske” adı verilen bir sonlu darbe cevabı ile
konvolve edilir. Uzaysal maske yerine “konvolüsyon çekirdeği (convolution kernel)”,
“konvolüsyon maskesi (convolution mask)”, “konvolüsyon penceresi (convolution
window)” gibi isimler de kullanılmaktadır.

Bu işleme filtreleme de denir. İmgenin üzerinde sanki bir filtre varmış gibi düşünülüp her
piksel yeniden hesaplanır.8 İlgili pikselin yeni değeri, komşu piksellerin değerleri de
dikkate alınarak bulunur. Kullanılacak piksellerin ağırlıkları, yapılacak işleme bağlı olarak
değişmektedir. Kenar bulma, gürültü giderme, imge keskinleştirme, yumuşatma gibi
işlemlerde kullanılmaktadır. Hesapsal yükü, nokta işlemlerine göre oldukça fazla
olabilmektedir.9

7.4.1. Spatial Averaging and Spatial Low-pass Filtering (Uzaysal Ortalama ve


Uzaysal Alçak Geçiren Filtre)
Ortalama veya ağırlıklı ortalamaya dayandığı için “Ortalama Filtreleri” olarak ta
adlandırılır. Alçak geçiren filtre olarak adlandırılmasının sebebi de imgenin gri tonlarındaki
keskin geçişleri azaltmasıdır.

Resimdeki her piksel yerine komşuları ile beraber ortalaması alınarak hesaplanan değer
konulduğundan, resimdeki gri düzeyleri arasındaki 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.10

Aşağıda ortalama filtresi uygulanmış örnek çalışma görülmektedir:

(a) (b) (c)

(ç) (d) (e)


Şekil 24. Uzaysal ortalama filtreleme örneği.
(a)orijinal fotoğraf (b)3x3 maske (c)5x5 maske (ç)9x9 maske
(d)15x15 maske (e)35x35 maske

19
Aşağıda örnek uzaysal ortalama filtreleri görülmektedir.

l l l
k 1/9 1/9 1/9 k
¼ ¼ 0 1/8 0

1/9 1/9 1/9 1/8 1/8 1/8


¼ ¼
1/9 1/9 1/9 0 1/8 0

(a) (b) (c)

Şekil 25. Uzaysal ortalama filtre (maske) örnekleri.


(a) 2x2 maske. (b) 3x3 maske. (c) 5 noktalı ağırlıklı ortalama maskesi

Filtrenin genel ifadesi şu şekildedir:


v ( m, n) = ∑ ∑a(k , l ) y (m −k , n, l )
( k ,l )∈W

Burada, her bir nokta ona komşu olan tüm noktaların ortalaması şeklinde hesaplanır.
y(m,n) fonksiyonun girişi, v(m,n) çıkışıdır. W, seçilen maske penceresidir. a(k,l) de filtrenin
ağırlığıdır (hücre değerleri). Uzaysal ortalama filtrelerinde sıkça kullanılan bir maske de
tüm ağırlıkların eşit olduğu maskedir. Şöyle gösterilebilir:
1
v ( m, n) =
NW
∑( k∑,l )∈W
y ( m − k , n, l )

Burada, a(k,l)=1/Nw ve Nw da W penceresindeki piksel sayısıdır. Yine sıklıkla kullanılan bir


başka filtre de “en yakın dört pikselin” ağırlıklı ortalamasıdır. Bu filtre de aşağıdaki gibi
ifade edilebilir:
1 y ( m −1, n) + y ( m +1, n) + y ( m, n −1) + y ( m, n −1) 
v( m, n) =  y ( m, n) + 
2 4 

Bu filtrenin Gaussian dağılımını kullanarak biraz daha değiştirilmiş hali Gaussian filtresi
olarak bilinir. Bu filtrenin ifadesi aşağıda verilmiştir:
 x2 + y2 
− 2 
1  wσ 
v(m, n, σ ) = e
2π σ2
Gaussian filtresi için örnek maske aşağıdaki şekilde verilmiştir.

Şekil 26. Gaussian filtre için örnek maskeler.

20
MATLAB’ta Ortalama ve Gaussian filtresi:
asil=imread('edebali.jpg');
asil=im2double(asil); %imgenin genlik değerlerini noktalıya çevir.
%
h1=fspecial('gaussian',10,2); %maske:10x10 ve sigma=2
gaussian=imfilter(asil,h1,'replicate');
%
h2=fspecial('average',10); %maske:10x10
ortalama=imfilter(asil,h2,'replicate');
%
figure,imshow(asil);
figure,imshow(gaussian,[]);
figure,imshow(ortalama,[]);

Matlab’ta filtrelerin dönüşüm fonksiyonu:

Şekil 27. Uzaysal ortalama filtreleme örneği.


Solda, gaussian filtre fonksiyonu; sağda ise ortalama filtre görülmektedir.

Uzaysal ortalama; gürültü yumuşatma, alçak-geçiren filtre amaçlı olarak kullanılmaktadır.

7.4.2. Directional Smoothing (Yönlü Yumuşatma)


İmgeyi yumuşatırken kenarların aşırı bulanıklaşmaması için yönlü ortalama filtreleri
kullanılabilir. Bu işlemde uzaysal ortalamalar her teta açısı için, birçok yönden
hesaplanır.11 Matematiksel olarak şöyle ifade edilebilir:
1
v(m, n : θ) =

∑( k ∑ y (m − k , n − l )
,l )∈Wθ

Burada; W0 seçilen θ açısı için belirlenen komşuluktur. Bu işlevi en verimli şekilde


kullanabilmek için; |y(m,n)-v(m,n: θ*)| değerini minimum yapan özel bir θ* açısı
kullanılmalıdır. Bu durumda,
v ( m, n) = v ( m, n : θ* ) değeri bize istenilen çıktıyı sağlayacaktır.

7.4.3. Median Filtering (Ortanca Filtresi)


Bu filtreleme yönteminde, orijinal 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. Matematiksel ifadesi şu şekildedir:
v ( m, n) = median{ y ( m − k , n − l ), ( k , l ) ∈W }

21
Şekil 28. Ortanca filtre uygulaması.
(a)orijinal fotoğraf (b)tuz & biber gürültüsü (c)ortanca filtre sonucu

Basit bir ortanca filtresinin nasıl çalıştığını inceleyelim. Örneğin aşağıdaki sayılar için
kenar tekrarlı ortanca filtresi uygulayalım (pencere genişliği (window size, katar) 3 için:
g = [2,32,2,1,2,8,9]

ç [0] = [2,2,32] = [2,2,32] => 2 // burada ilk sayıyı tekrar ettik çünkü katar 3 olmalı ve
şayet ilk sayıyı 2 kere almazsak ilk sayı için 3 adet sayımız olmayacaktır.
ç [1] = [2,32,2] = [2,2,32] => 2 // ilk dizi giriş dizisinin ilk 3 sayısıdır (katar 3 olduğu
için) ikinci dizi ise sıralanmış halidir. ve sonuç olarak ortanca değer 2 bulunur.
ç [2] = [32,2,1] = [1,2,32] => 2
ç [3] = [2,1,2] = [1,2,2] => 2
ç [4] = [1,2,8] = [1,2,8] => 2
ç [5] = [2,8,9] = [2,8,9] => 8
ç [6] = [8,9,9] = [8,8,9] => 9
ç = [2,2,2,2,2,8,9] olarak bulunur.

Yukarıdaki örnekte g giriş dizisi, ç ise çıkış dizisi olarak kabul edilmiştir. Görüldüğü üzere
yukarıdaki örnekte ortanca filtresi uygulandıktan sonra çok büyük bir sayı olan ve
yakınlarında başka benzer sayı bulunmayan 32 sayısı elenmiştir. Benzer şekilde
yakınlarında benzeri bulunmayan 1 sayısı da çok fazla 2 sayısı arasında kalıp bu sayılar
tarafından boğulmuştur. 2 boyutlu imgelerde bu filtre kullanılırken 2 boyutlu pencere
uygulanır. Örneğin 3×3 gibi. Bu durumda 9 hücreli katar’ın içinde kalan sayılar
sıralanarak ortalama değeri yeni değer olarak yazılır.

Ortanca filtrenin bazı özellikleri aşağıda verilmiştir:


• Lineer değildir. Şöyle:
median{x(m)+y(m)} ≠ median{x(m)}+ median{y(m)}
• 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.12

Matlab’ta ortanca filtresi


I = imread('eight.tif');
J = imnoise(I,'salt & pepper',0.02); % tuz & biber gürültüsü ekle
K = medfilt2(J);
imshow(J)
figure, imshow(K)

22
Şekil 29. Matlab’ta ortanca filtre uygulaması.
Solda, gürültülü fotoğraf. Sağda, ortanca filtresi sonrası.

7.4.4. Unsharp Masking and Crispening (Keskinlik Maskelemesi ve kenar


Koyulaştırma)

Keskinleştirici filtreler:
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. Keskinleştirme, sayısal farkların alınması
ile gerçekleştirilir (diferansiyel, türev). Fark alma, resimdeki kenarları, süreksizlikleri
(gürültü gibi) belirginleştirir (keskinleştirir) ve küçük gri düzeyi değişimleri olan resim
bölgelerini solgunlaştırır.

Keskinlik Maskelemesi: Genelde endüstride baskı alırken kenarları keskin göstermek


için kullanılır. Resimden bulanıklaştırılmış hali çıkarılınca keskinleştirme sağlanır. Aynı
şekilde, dereceli veya yüksek geçiren bir işaret eklenerek te elde edilebilir. Matematiksel
ifadesi şöyledir:
v ( m, n) = u ( m, n) +λg ( m, n)
Burada; λ>0 dır, g(m,n) ise (m,n) üzerinde düzgün derecelendirilmiş skaladır. Çokça
kullanılan bir derecelendirme skalası fonksiyonu ayrık Laplas’tır.

Matlab’ta, Keskinlik Maskelemesi Örneği:


kaynak = imread('moon.tif');
h = fspecial('unsharp');
I2 = imfilter(kaynak,h);
imshow(kaynak), title('Orijinal imge')
figure, imshow(I2), title('Filtrelenmiş imge')

23
Şekil 30. Matlab’ta keskinlik maskelemesi uygulaması.
Solda, orijinal fotoğraf. Sağda, keskinlik maskelemesi sonrası.

Matlab’ta bulanıklık, hareket bulanıklığı ve keskinleştirme


I = imread('moon.tif');
subplot(2,2,1);imshow(I);title('Orijinal İmge');
H = fspecial('motion',50,45);
MotionBlur = imfilter(I,H);
subplot(2,2,2);imshow(MotionBlur);title('Hareket Bulanığı Yapılmış');
H = fspecial('disk',10);
blurred = imfilter(I,H);
subplot(2,2,3);imshow(blurred);title('Bulanıklaştırılmış');
H = fspecial('unsharp');
sharpened = imfilter(I,H);
subplot(2,2,4);imshow(sharpened);title('Keskinleştirilmiş');

7.4.5. Spatial Low-pass, High-pass and Band-pass Filtering (Uzaysal Alçak-


Geçiren, Yüksek Geçiren ve Bant Geçiren Filtreleme)
Alçak geçiren filtreler genellikle gürültü temizlemek ve enterpolasyon için kullanılırlar.
Yüksek geçiren filtreler ise imgeyi keskinleştirmek ve kenarları bulmak için kullanılır. Bant
geçiren filtreler de kenarların iyileştirilmesinde, imgedeki gürültülerde farklı ayarlarda
yüksek geçiren gibi kullanılabilir.

u(m,n) Uzaysal vLP(m,n) u(m,n) Alçak geçiren vLP(m,n) + VHP(m,n)


+
ortalama (LPF)
-

(a) uzaysal alçak geçiren (b) uzaysal yüksek geçiren

u(m,n) vLP(m,n) + VBP(m,n)


LPF hL1(m,n) +
-

LPF hL2(m,n)

(c) uzaysal bant geçiren


Şekil 31. Uzaysal filtreler

Daha önce de belirtildiği gibi, alçak geçiren filtreler imgeyi bulanıklaştırırken yüksek
geçiren filtreler keskinleştirir. Bunun sebebi imgedeki ani renk geçişlerinin (özellikle kenar
ve köşe hatlarında) yüksek frekans bileşeni olarak görülmesidir. Bu nedenle; yüksek
geçiren filtre kullanıldığında keskin olan bileşenler geçirilirken, alçak geçiren filtre ile de
yumuşak bileşenler geçirilir.

7.4.6. Inverse Contrast Ratio Mapping and Statistical Scaling (Ters Karşıtlık
Oranı Eşleştirme ve İstatistiksel Boyutlandırma)
Görme sistemlerimizin başarısı, yeknesak bir arka zemin önünde duran nesnelerin
boyutuna (çözünürlüğüne) ve karşıtlık oranına (γ) bağlıdır. Karşıtlık oranı aşağıda
gösterilmiştir:
σ
γ=
µ

24
Burada, μ nesnenin ortalama aydınlığıdır. σ ise nesnenin etrafındaki diğer nesnelerin
aydınlığının standart sapmasıdır. Buradan ters karşıtlık oranının dönüşümünü yazarsak:
µ(m, n)
v( m, n) =
σ(m, n)
olacaktır. Burada; μ(m,n) ve σ(m,n) yerel ortalamalardır. u(m,n) nin standart sapması W
penceresinin dışında ölçülmüş, aşağıdaki eşitlikler de verilmiş olsun.
1
µ(mn) =
Nw
∑ ∑u (m − k , n −l )
( k ,l )∈w
1
 1 2
∑ ∑[u (m −k , n −l ) −µ(m, n)]
2
σ8m, n) =  
N w ( k ,l )∈w 
Bu durumda; bu dönüşümler, imge üzerinde zayıf olan (karşıtlığı az) bölgelerde
iyileştirme sağlar.
µ(m, n)
v( m, n) = dönüşümü de her pikseli, tüm pikseller arasında bütünlük
σ(m, n)
sağlayacak şekilde, kendi standart sapmasına göre yeniden boyutlandırır. Buna da
istatistiksel boyutlandırma denir.

7.4.7. Magnification and Interpolation [Zooming] (İmge Büyütme)


Görüntü işlemede sıklıkla bir imgenin bir bölümünün daha yakından görülmesi
gerekmektedir. Bu işleme imge büyütme adı verilir. Aşağıda farklı imge büyütme
teknikleri görülmektedir.

7.4.8. Replication (Replikasyon)


Replikasyon, bir imgede satırlarda her pikselin tekrarlanması ve sonra satırın da
tekrarlanması şeklinde yapılır. Başka bir deyişle bu; MxN boyutunda bir imgede önce satır
ve sütunların arasını açarak 2Mx2N boyutunda bir matris elde etmek ve sonra bu sonucu
aşağıda verilen H dizisi ile konvolve etmek anlamına gelmektedir.
1 1
H = 
1 1
Buradan hareketle şu yazılabilir:

m  n 
v(m,n)=u(k,l), k = Int   , l = Int   , m,n=0,1,2,...
2  2 
Replikasyon yapıldığında pikseller birebir tekrarlanır. Bu şekilde sanki pikseller büyümüş
gibi görünür. Aşağıdaki şekilde bu durum görülmektedir.13

25
Şekil 32. İmge büyütme
Üst imge 70x70 piksel.
Solda, 210x210 piksel replikasyon yapılmış. Sağda, 210x210 piksel bilineer büyütme kullanılmış.

Şekil 33. 2x3 piksellik bir imgenin replikasyon ile 4x6 piksel yapılması

7.4.9. Linear Interpolation (Doğrusal Çoğullama)


Doğrusal çoğullamada, ilave pikseller bir satır boyunca piksellerin arasına yerleştirilir.
Sonra her sütun boyunca pikseller çoğullanır. Örneğin bir 2x2 büyütme işleminde satır
boyunca doğrusal çoğullama aşağıda gösterilmiştir:

v1(m,2n)=u(m,n), 0≤m≤M-1, 0≤n≤N-1


v1(m,2n+1)=½[u(m,n)+u(m,n+1)], 0≤m≤M-1, 0≤n≤N-1

Bir başka deyişle, doğrusal çoğullama yönteminde önce her satır ve sütun için iki piksel
arasına bir 0 eklenerek önce imgenin piksel sayısı artırılır. Sonra her 0 olan piksel için
önce satırda, sonra da sütunlarda iki yan komşusunun ortalaması alınarak bu 0 yerine
yazılır. Aşağıda örnek bir doğrusal çoğullama işlemi görülmektedir:

26
Şekil 34. 2x2 piksellik bir imgenin doğrusal çoğullama ile 4x4 piksel yapılması

Araya 0 ekleme suretiyle piksel sayısı artırılmış olan imgede aşağıda verilen H dizisi ile
konvolve edilerek sonuca ulaşılır:
1 / 4 1 / 2 1 / 4
H =1 / 2 1 1 / 2


1 / 4 1 / 2 1 / 4

Farklı uygulamalarda farklı çoğullama teknikleri kullanılabilir. Örneğin ihtiyaç halinde, 3


kere arka arkaya konvolve edilerek kübik kama (cubic spline) adı verilen çoğullama
metodu gerçekleştirilebilir. Aşağıda şematik gösterimi verilmiştir:

p satır ve
sıfırlar sütunu
ile çoğullama

Şekil 35. p.ninci çoğullama

7.5. Transform Operations (Dönüşüm İşlemleri)


Dönüşüm işlemleri iyileştirme tekniklerinde, dönüştürülmüş imge üzerinde hafızasız
işlemler uygulanır sonra ters dönüşüm yapılır. Bu işlemler aşağıda belirtilmiştir. V={v(k,l)}
dönüştürülmüş imgesi ile başlayabiliriz:
V = A ∪ AT
Burada, U={u(m,n)} giriş imgesidir. Ters dönüşüm de şu şekildedir:
v • ( k , l ) = f (v ( k , l ))
Bu bize iyileştirilmiş imajı şu şekilde verecektir:
U • = A −1V •[ AT ] −1

Şekil 36. Dönüşüm İşlemleri Filtrelemesi

7.5.1. Generalized Linear Filtering (Genelleştirilmiş Doğrusal Filtreleme)


Genelleştirilmiş doğrusal filtrelemede, hafızasız dönüşüm alan işlemi piksel piksel çarpılır:
v • ( k , l ) = g ( k , l )v ( k , l )
Burada, g(k,l) bir “bölgesel maske” olarak adlandırılır. Aşağıdaki şekilde DFT ve diğer
ortogonal dönüşümler için; alçak geçiren, yüksek geçiren ve bant geçiren filtre için
bölgesel maskeler gösterilmiştir.

27
Şekil 37. İmge büyütme
Solda, DFT bölgesel maskesi. Sağda, (gerçek) ortogonal dönüşümün bölgesel maskesi

Şekilde alçak geçiren (LPF), yüksek geçiren (HPF) ve bant geçiren (BPF) için, DFT (sanal)
ve ortogonal dönüşüm (gerçel) domenlerinde g(k,l) bölgesel maskeleri için örnekler
görülmektedir. g(k,l) fonksiyonu, kısmi filtreler için belirtilen bölgelerin dışında sıfırdır.

Önemli bir filtre de NxN imge için bölgesel maskesi aşağıda belirtilmiş olan ters Gaussian
filtresidir.
  (k 2 + l 2 )  N
exp , 0 ≤ k, l ≤
g (k , l ) =   2σ 2
 2
 g(N-k,N-l), aksi halde

Yine benzer şekilde önemli bir yüksek frekans filtresi de aşağıda verilmiştir. Bu filtre,
atmosfer türbülansı veya benzeri nedenlerle bulanıklaşmış imgeleri netleştirmekte
kullanılır.

Şekil 38. Frekans filtreleri


(a) Orijinal fotoğraf. (b) Yüksek geçiren (HPF) çıkışı (c) Alçak geçiren (LPF) çıkışı

7.5.2. Root Filtering (Kök Filtreleme)


Dönüşüm katsayısı v(k,l) şu şekilde yazılabilir:
v ( k , l ) = v( k , l ) e jθ( k ,l )
Kök filtrelemede, v(k,l) nin genlik bileşeni olan α-kök alınır, faz bileşeni tutularak şu
sağlanır:

v •( k , l ) = v ( k , l ) e jθ( k ,l ) , 0≤α≤1

28
Çoğu imgede, yüksek uzaysal frekanslara kıyasla v(k,l)nin genliği daha ufaktır. α-kök etkisi
düşük uzaysal frekanslara (yüksek genlik) kıyasla yüksek uzaysal frekansları (düşük
genlik) iyileştirmeyi sağlar.

7.5.3. Generalized Cepstrum and Homomorphic Filtering (Genelleştirilmiş


Cepstrum ve Homomorfik Filtreleme)
Cepstrum sözcüğü Spectrum (tayf) sözcüğünün ilk hecesinin ters çevrilmesi ile elde
edilmiştir. Bir spektrumun ters Fourier dönüşümüne karmaşık cepstrum denir.14

Yüksek dinamik aralık bulunan bir imgede, mesela güneşte çekilen ve sert ışık ve sert
gölge bulunan fotoğraflarda, homomorfik filtreler kullanışlıdır.15

Başka bir deyişle ışık dağılımın dengeli olmadığı imgelerde kullanışlıdır. Aşağıdaki şekilde
bunun örneği gösterilmiştir.16

Şekil 39. Homomorfik filtreleme


(a) Homomorfik filtre cevabı. (b) Kaynak imge (c) Filtre sonucu

Aşağıda Homomorfik dönüşüm için blok diyagramlar gösterilmiştir:

(a) Genelleştirilmiş Cepstrum ve genelleştirilmiş Homomorfik dönüşümü.

(b) için ters Homomorfik dönüşüm

(c) genelleştirilmiş Homomorfik doğrusal filtreleme

Şekil 40. Genelleştirilmiş cepstrum ve homomorfik filtreleme

7.6. Multispectral Image Enhancement (Çoğul Tayflı İmge İyileştirme)


Çoğul tayflı imge (multispectral), birden fazla farklı renk tayfına sahip imgenin bir araya
gelmiş halidir. Ana imgeyi oluşturan her alt imgenin frekans aralığı (bant) farklıdır. Tüm
bu alt imgeler bir araya geldiğinde tek bir imge oluşturur. Genellikle 2–12 arasında alt

29
imge kullanılır. Aşağıdaki şekilde bir imgenin farklı bantlardaki (frekanslar) elemanları
görülmektedir.17

Şekil 41. Bir imgenin farklı bantları

Çoğul tayflı imge üzerinde iyileştirme yapmanın farklı avantajları vardır. Örneğin bir
imgenin sadece belirli bir tayfı üzerinde çalışma yapma imkânı bu şekilde olabilir.
İmgenin farklı tayflarının birbirine oranlanması da sıkça kullanılan bir uygulamadır.
Aşağıda tayf oranlama konusunda bir örnek uygulama görülmektedir.

Bu tarz imgelerde iyileştirme yapmak için çokça kullanılan üç yöntem vardır. Bu


yöntemler aşağıda açıklanmıştır.

7.6.1. Intensity Ratios (Yoğunluk Oranları)


Farklı bantlar arasında yoğunlukların oranlanması şeklinde uygulanır. Aşağıda örnek
yoğunluk oranı uygulaması gösterilmiştir.

30
Şekil 42. Bir imgenin farklı bantlarının oranları

Yoğunluk oranlamasını ifade edebilmek için i ve j indisli bantların oranlanacağını


varsayalım. Aşağıda bu oranın matematiksel ifadesi verilmiştir:
∆ u i ( m, n)
Ri , j ( m, n) = , i≠ j
u j ( m, n)

7.6.2. Log-Ratios (Logaritmik Oranlama)


Farklı bantlardaki imgelerin logaritmik oranlanması şeklinde kullanılır. Yoğunluk oranı için
verilmiş olan eşitliğin iki tarafının logaritması alınarak elde edilir. Aşağıda görülmektedir:

Li , j = log Ri , j = log u i (m, n) − log u j (m, n)
Bu işlemin sonucunda Ri,j nin dinamik aralığı yüksekse Li,j en iyi sonucu verir.

7.6.3. Principal Components (Asıl Bileşenler)


Ana imgeyi oluşturan farklı bantlarda I adet alt imgede bulunan her (m,n) noktasının Ix1
şeklinde vektör olduğunu varsayalım:
u1 ( m, n) 
u ( m, n) 
u ( m, n) =  2 
  
 
u I ( m, n) 
Bu noktaların genlik değerlerine göre sıralanması şeklinde dizi oluşturularak farklı
bantlarda imgelere ayrıştırılabilir. Bu bantlardan ilk sırada gelenler ana imgeyi

31
oluşturmada daha etkili iken sonrakilere doğru etki gittikçe azalır. Aşağıda örnek
ayrıştırma sonucu görülmektedir.

Şekil 43. Bir imgenin farklı bantlarda ayrıştırılması

7.7. Falsecolor and Pseudocolor (Sahte Renklendirme)


Falsecolor, bir imgeyi oluşturan renk paletindeki her bir renk değerin farklı bir değere
eşlenmesidir. Uygulamada insanlara daha ilgi çekici (hatta çoğunlukla doğal görünmeyen)
görünüm sunmak için kullanılır. Örneğin bu yöntemle mavi gökyüzü kırmızı yapılabilir
veya çimenler mavi yapılabilir. Benzeri bir uygulama alanı da bir fotoğraf içerisindeki özel
bir nesnenin daha dikkat çekici hale getirilmesi için kullanılmasıdır.18

Pseudocolor, genellikle siyah-beyaz bir imgede dikkat çekilmek istenen kısmın


görünürlüğünü artırmak amacıyla kullanılır. Veya siyah beyaz bir imgeyi genel olarak
renklendirmek için de kullanılır. Bunu sağlamak için imge öncelikle farklı bantlarda
bileşenlere ayrılır. Daha sonra her bir bileşen bir renk uzayından bir renge eşleştirilir.
Örneğin imgeden elde edilen üç farklı bantta bileşen, RGB renk uzayından kırmızı, yeşil
ve mavi renge eşleştirilebilir. Aşağıda bu pseudocolor işleminin blok diyagramı
gösterilmiştir.

v1(m,n) R

Giriş v2(m,n) Renk G


İmgeleri Bileşenlere koordinat Görüntü
ui(m,n) ayırma dönüşümü
v3(m,n) B
Şekil 44. Pseudocolor sahte renklendirmesi

32
Şekil 45. Pseudocolor sahte renklendirme örneği

Yukarıdaki şekilde Seismic isimli bir grafiğe pseudocolor yöntemi ile sahte renklendirme
uygulanmıştır. Grafiğin orijinal renk paleti (a) şıkkında verilmiştir. Renklendirme yapmak
için bu renk paleti (b) şıkkındaki palet ile değiştirilmiştir. (a) şıkkında verilen paletteki her
bir rengin karşılığı (b) şıkkındaki paletteki bir renge sabit olarak eşleştirilmiştir. Örnekte
detay yakalamak için, tam beyaz olan renkler griye çekilmiştir.

7.8. Color Image Enhancement (Renkli İmge İyileştirme)


Renkli imge iyileştirmede siyah beyaz olanlara ek olarak renk dengesi (color balance)
iyileştirmesi ve renk karşıtlığı (color contrast) gibi uygulamalar da yapılmaktadır. Renkli
imge iyileştirmenin zor olmasının tek nedeni eklenen verilerin boyutu değil, aynı zamanda
renk algısındaki karmaşıklıktır. Uygulamada tipik bir renkli imge iyileştirmesi için blok
diyagram aşağıda gösterilmiştir:

Siyah beyaz imge R


iyileştirme
R

Giriş G Siyah beyaz imge G


imgesi Koordinat iyileştirme Ters
dönüşümü koordinat
B Görüntü
dönüşümü
Siyah beyaz imge B
iyileştirme

Şekil 46. Renkli imge iyileştirmesi

33
Şekilde görüldü gibi; RGB paletindeki giriş imgesi önce koordinat dönüşümüne tabi
tutuluyor. Daha sonra imge 3 bileşenine ayrılıyor. Her bileşen kendi içerisinde siyah-
beyaz imge gibi işleme tabi tutuluyor ve iyileştirme yapılıyor. Daha sonra, yeniden
koordinat dönüşümü yapılarak ayrıştırılmış imge yeniden RGP paletinde bir araya
getiriliyor.

7.9. Summary (Özet)


İmge iyileştirmede en önemli nokta, kullanılacak tekniklerin objektif olmamasıdır. İmge
iyileştirme kullanılacak olan her uygulamada, o uygulamaya özel teknikler planlanmalıdır.
Bu nedenle, modern imge iyileştirme sistemlerinde işlem sırasında parametrelerin
değiştirilmesine olanak sağlayan etkileşimli uygulamalar geliştirilmektedir. İmge
iyileştirmede her zaman için değişmeyen kural şudur: “en iyi sonuç deneme yanılma
yöntemiyle bulunur”.

KAYNAKLAR
1. Anil K. Jain, “Fundamentals of Digital Image Processing”
2. Li Tao, Ming-Jung Seow and Vijayan K. Asari. “Nonlinear Image Enhancement to
Improve Face Detection in Complex Lighting Environment”
3. Sarp Ertürk, “Digital Image Processing”
4. Rafael C. Gonzalez, “Digital Image Processing”
5. T. Acharya, A.Ray – “Image Processing - Principles and Applications”
6. John C. Russ – “The Image Processing Handbook”
7. Jae S. Lim, “Two Dimensional Signal And Image Processing”
8. William K. Pratt – “Digital Image Processing”
9. Bernd Jähne – “Digital Image Processing”
10. Mathworks – “Image Processing Toolbox User's Guide”
11. Gérard Blanchet, Maurice Charbit – “Digital Signal and Image Processing Using
MATLAB”
12. Gonzalez & Woods & Eddins – “Digital Image Processing Using MATLAB”
13. Hany Farid – “Fundamentals of Image Processing”
14. Thomas Klinger - “Image Processing with LabVIEW and IMAQ Vision”
15. S.G.Hoggar – “Mathematics Of Digital Images”
16. http://yzgrafik.ege.edu.tr/~aybars/ip/
17. http://www.ehm.yildiz.edu.tr/dersweb/vedat/vedatnot.htm
18. http://www.yildiz.edu.tr/~bayram/sgi/saygi.htm
19. http://www.emrahustun.com
20. http://www.bilgisayarkavramlari.com
21. http://www.icaen.uiowa.edu/~dip/LECTURE/
22. http://eeweb.poly.edu/~onur/lectures/lectures.html
23. Ergin Altıntaş - Örüntü Tanıma Dersleri
24. Oya Örnek (Selçuk Üniversitesi) - Ders Notları

REFERANSLAR

34
1
Oya Örnek (Selçuk Üniversitesi) - Ders Notları
2
Yrd. Doç. Dr. M. Kemal GÜLLÜ, Kocaeli Üniversitesi İmge İşleme Ders Notları
3
Yrd. Doç. Dr. M. Kemal GÜLLÜ, Kocaeli Üniversitesi İmge İşleme Ders Notları
4
Li Tao, Ming-Jung Seow and Vijayan K. Asari. “Nonlinear Image Enhancement to Improve
Face Detection in Complex Lighting Environment”
5
John C. Russ - The Image Processing Handbook
6
Yrd. Doç. Dr. M. Kemal GÜLLÜ, Kocaeli Üniversitesi İmge İşleme Ders Notları,
(http://mf.kou.edu.tr/elohab/kemalg/imge_web/odev.htm)
7
Rafael C. Gonzalez, “Digital Image Processing”
8
K.Sinan YILDIRIM, Cenk İNCE, Tahir Emre KALAYCI, “Görüntü İşleme” (Ege Üniversitesi
Bilgisayar Mühendisliği).
9
Yrd. Doç. Dr. M. Kemal GÜLLÜ, Kocaeli Üniversitesi İmge İşleme Ders Notları (Eski Notları 4.
saydam)
10
Aybars, Ege Üniversitesi (MATLAB ile Görüntü İşleme Part – IV ve Part – V)
11
T. Acharya, A.Ray - Image Processing - Principles and Applications (S:109)
12
T. Acharya, A.Ray - Image Processing - Principles and Applications (S:115)
13
Sarp Erturk - Digital Image Processing (S:1-5)
14
Jae S. Lim, Two Dimensional Signal And Image Processing (S:292)
15
Jae S. Lim, Two Dimensional Signal And Image Processing (S:463)
16
T. Acharya, A.Ray - Image Processing - Principles and Applications (S:118)
17
William K. Pratt - Digital Image Processing 3rd.Ed
18
William K. Pratt - Digital Image Processing (S:288)

You might also like