35
İMGE İYİLEŞTİRME (IMAGE ENHANCEMENT) Murat Özalp Bilecik, 2009

imge iyilestirme

Embed Size (px)

DESCRIPTION

İmge İyileştirme (Image Enhancement)Yüksek lisans ödevi için hazırlanan belge.35 Sayfa.

Citation preview

Page 1: imge iyilestirme

İMGE İYİLEŞTİRME(IMAGE ENHANCEMENT)

Murat ÖzalpBilecik, 2009

Page 2: imge iyilestirme

İÇİNDEKİLER7. 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

Page 3: imge iyilestirme

Ş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

Page 4: imge iyilestirme

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:)],([),( yxfTyxg =

İ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

Girdi imgesi

Operatör (İşlem)

İşlenmiş imge

Page 5: imge iyilestirme

• 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

Page 6: imge iyilestirme

Ş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.

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

İşlem Formül Açıklama

1. Contrast Stretching(Karşıtlık Esnetme)

<≤+−<≤+−<≤

=Lubvbu

buavau

auu

uf

b

a

,)(

,)(

0,

)(

γβ

αγβα ve, eğrileri bağıl karşıtlık

artırımını belirler.

2. Noise clipping and treshoolding(gürültü kırpma ve eşikleme)

≥≤≤<≤

=buL

buau

au

uf

,

,

0,0

)( α

Gri seviye dağılımı düzensiz olan ikili ve diğer imgelerde kullanışlıdır. a ve b, histogramın tepeleri arasında bir vadi belirler. a=b=t değeri için bu duruma eşikleme adı verilir.

3. Gray scale reversal(Gri skala tersleme)

uLuf −=)( İmgenin sayısal olarak tersini (negatif) verir.

Ön işleme

Fourier dönüşümü

Filtre fonksiyonu

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

Son işleme

f(x,y) giriş sinyali

g(x,y) iyileştirilmiş

sinyal

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

6

Page 7: imge iyilestirme

4. Gray-level Windows slicing(Gri Seviyesi Dilimleme)

≤≤

=haldeaksi

buaLuf

,0

,)(

a ve b değerleri aralığında bulunan pikselleri tamamen aydınlatır. Arka zemini silmek için kullanılır.

5. Bit extraction(Bit çıkarma)

Liiuf nn )2()( 1−−=

Bnu

IntinBn ,....,2,1,

2=

= −

B= “u sayısını tamsayı olarak tanımlamak için kullanılan bit sayısı”.

Bu bize, n’inci en değerli biti verir.

6. Bit removal(Bit Silme)

LuLulouuf ≤≤+= 0),1(mod2)(

=2

2)(u

Intuf

Yüksek değerli biti siler.

Düşük değerli biti siler.

7. Range compressionAralık Sıkıştırma

0),1(log10 ≥+= uucv

)1(log10 L

Lc

+=∆ Karşıtlık dönüşümünün yoğunluğu.

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:

)(ufv =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:byxfyxg += ),(),(

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.

7

(a)

(b)

Page 8: imge iyilestirme

Ş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:

),(.),( yxfayxg =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:byxfayxg += ),(.),(

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.

8

(a)

(b)

(c)

Page 9: imge iyilestirme

Ş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.

Şekil 7. Karşıtlık esnetme dönüşüm fonksiyonu.

Koyu bölgelerde: 3/,1 La ≅>α

Orta koyulukta bölgelerde: Lb 32,1 ≅>β 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)

u

Vb

Va

a b L

V

γ

α

β

9

(c)

Page 10: imge iyilestirme

(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 tba∆== 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.

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

a b

v

u

v

u

10

Page 11: imge iyilestirme

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.

Şekil 12. Negatif alma işlemi

v

u

L

L0

11

Page 12: imge iyilestirme

Ş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)-rs: noktanın negatif renk değerir: noktanın renk değeriL: 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)-rs=(256-1)-10s=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

Page 13: imge iyilestirme

Ş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.

Gör

üntü

nün p

arla

klığ

ı (%

)

Piksel renk değeri

(b)(a)

(c) (d)

13

Page 14: imge iyilestirme

Ş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:

Arka planda imge yoksa: ≤≤

=haldeaksi

buaLuf

,0

,)(

Arka planda imge varsa: ≤≤

=haldeaksiu

buaLuf

,

,)(

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:

BnB

nBB kkkku ++++= −−− 2........22 2

21

1

Fonksiyonun çıkışı şu şekilde yazılabilir:

=,0

,)(

Luf

haldeaksi

isekn 1=

Ö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:

( )ucv += 1log10

14

Page 15: imge iyilestirme

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

Page 16: imge iyilestirme

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.

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

16

Karanlık imge

Aydınlık imge

Page 17: imge iyilestirme

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

Matlab’ta histogram görüntülemeimge=imread('tire.tif');h=imhist(imge);figure, imshow(imge);figure, imhist(imge);

0

200

400

600

800

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

Düşük karşıtlık

Yüksek karşıtlık

Page 18: imge iyilestirme

(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):

1. Yükseltme faktörünü sayisi nokta top.

255=d şeklinde hesapla

2. İmgenin histogramını hesapla3. İlk gri seviye eşleştirmesi için [ ] [ ]00 histogramxdc = şeklinde hesapla4. Diğer tüm gri seviyeleri için: [ ] [ ] [ ]ihistogramdicic x1 +−= şeklinde hesapla

5. İmgenin tüm pikselleri için: ( ) ( )[ ]yxfcyxg ,, = ş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

Page 19: imge iyilestirme

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

Page 20: imge iyilestirme

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

Ş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:

∑ ∑ −=∈

),,(),(),(),(

lnkmylkanmvWlk

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

),(),(

lnkmyN

nmvWlkW

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:

−+−+++−+=

4

)1,()1,(),1(),1(),(

2

1),(

nmynmynmynmynmynmv

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:

+−

=2

22

22

1),,( σ

π σσ w

yx

enmv

Gaussian filtresi için örnek maske aşağıdaki şekilde verilmiştir.

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

¼ ¼

¼¼

1/9 1/9

1/91/9

1/9

1/9

1/91/9 1/9

0 1/8

1/81/8

0

1/8

1/80 0

l l l

(a)

k k

(b) (c)

20

Page 21: imge iyilestirme

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=2gaussian=imfilter(asil,h1,'replicate');%h2=fspecial('average',10); %maske:10x10ortalama=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:

∑ ∑∈

−−=θθ

θWlk

lnkmyN

nmv),(

),(1

):,(

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,

):,(),( *θnmvnmv = 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:

{ }Wlklnkmynmv ∈−−= ),(),,(median),(

21

Page 22: imge iyilestirme

Ş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 filtresiI = imread('eight.tif');J = imnoise(I,'salt & pepper',0.02); % tuz & biber gürültüsü ekleK = medfilt2(J);imshow(J)figure, imshow(K)

22

Page 23: imge iyilestirme

Ş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:

),(),(),( nmgnmunmv λ+=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

Page 24: imge iyilestirme

Ş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ştirmeI = 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.

Ş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:

µσγ =

Uzaysal ortalama

u(m,n) vLP

(m,n) Alçak geçiren(LPF)

u(m,n) vLP

(m,n) ++

-

VHP

(m,n)

LPF hL1

(m,n)u(m,n) v

LP(m,n) +

+

-

VBP

(m,n)

LPF hL2

(m,n)

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

(c) uzaysal bant geçiren

24

Page 25: imge iyilestirme

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:

),(

),(),(

nm

nmnmv

σµ=

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.

∑ ∑∈

−−=wlkw

lnkmuN

mn),(

),(1

)(µ

[ ]2

1

2

),(

),(),(1

),8

−−−= ∑∑∈wlkw

nmlnkmuN

nm µσ

Bu durumda; bu dönüşümler, imge üzerinde zayıf olan (karşıtlığı az) bölgelerde iyileştirme sağlar.

),(

),(),(

nm

nmnmv

σµ= dönüşümü de her pikseli, tüm pikseller arasında bütünlük

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.

=

11

11H

Buradan hareketle şu yazılabilir:

v(m,n)=u(k,l),

=

2

mIntk ,

=2

nIntl , m,n=0,1,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

Page 26: imge iyilestirme

Ş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-1v1(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

Page 27: imge iyilestirme

Ş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:

=

4/12/14/1

2/112/1

4/12/14/1

H

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:

Ş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:

TAAV ∪=Burada, U={u(m,n)} giriş imgesidir. Ters dönüşüm de şu şekildedir:

)),((),( lkvflkv =•

Bu bize iyileştirilmiş imajı şu şekilde verecektir:11 ][ −•−• = TAVAU

Ş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:

),(),(),( lkvlkglkv =•

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

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

Page 28: imge iyilestirme

Şekil 37. İmge büyütmeSolda, 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.

( )

≤≤

+

=halde aksi,

2,0,

2exp

),( 2

22

g(N-k,N-l)

Nlk

lklkg σ

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:

),(),(),( lkjelkvlkv θ=

Kök filtrelemede, v(k,l) nin genlik bileşeni olan α-kök alınır, faz bileşeni tutularak şu sağlanır:

),(),(),( lkjelkvlkv θ•• = , 0≤α≤1

28

Page 29: imge iyilestirme

Ç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

Page 30: imge iyilestirme

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

Page 31: imge iyilestirme

Ş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:

),(

),(),(, nmu

nmunmR

j

iji

∆= , ji ≠

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:

),(log),(loglog ,, nmunmuRL jijiji −==∆

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:

=

),(

),(

),(

),( 2

1

nmu

nmu

nmu

nmu

I

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

Page 32: imge iyilestirme

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.

Şekil 44. Pseudocolor sahte renklendirmesi

Bileşenlere ayırma

Renk koordinat dönüşümü

GörüntüGirişİmgeleri u

i(m,n)

v1(m,n)

v2(m,n)

v3(m,n)

R

G

B

32

Page 33: imge iyilestirme

Ş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:

Şekil 46. Renkli imge iyileştirmesi

Koordinat dönüşümü

Siyah beyaz imge iyileştirme

Ters koordinat dönüşümü

Giriş imgesi

R

G

B

R

G

B

Siyah beyaz imge iyileştirme

Siyah beyaz imge iyileştirme

Görüntü

33

Page 34: imge iyilestirme

Ş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”.

KAYNAKLAR1. 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 Dersleri24.Oya Örnek (Selçuk Üniversitesi) - Ders Notları

REFERANSLAR

34

Page 35: imge iyilestirme

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 Handbook6 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.Ed18 William K. Pratt - Digital Image Processing (S:288)