You are on page 1of 102

İMGE İYİLEŞTİRME

(IMAGE ENHANCEMENT)

Murat Özalp
İmge İyileştirme: Giriş

 Hedef: Belirli bir uygulama için, resmi orijinal


halinden daha iyi duruma getirmek.
 İ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.
 Her uygulamada farklı imge iyileştirme
yöntemleri kullanılır!
2/101
İmge İyileştirme: Giriş
 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.

Ayın ilk fotoğrafı (31 Temmuz 1964)


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

3/101
Örnek Görüntü İşleme Basamakları
(Yüz tanıma uygulaması için)
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)
4/101
Görüntü İşleme Uygulama Alanları

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


 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

5/101
İmge İyileştirme Genel Gösterim

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

Operatör (İşlem)

İşlenmiş imge

6/101
Niceleme ve Örnekleme

7/101
Renk Skalası

 Renkli skala

 Gri skala

8/101
Sayısal İmge Gösterimi

9/101
İ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.

10/101
Frekans Alanında İyileştirme

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

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

Ön Son işleme
işleme

f(x,y) g(x,y)
giriş sinyali iyileştirilmiş
sinyal

11/101
Nokta İşlemleri
(Point Operations)

12/101
Nokta İşlemleri (Point Operations)

 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 )
13/101
Parlaklık (brightness) değiştirme

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

14/101
Parlaklık değiştirme

15/101
Karşıtlık Esnetme (yayma)
(contrast streching)
 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 )

16/101
Karşıtlık Esnetme (yayma)
(contrast streching)
 Hem karşıtlığı hem de parlaklığı değiştirmek
için aşağıdaki fonksiyon kullanılır:

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

17/101
Karşıtlık değiştirme

18/101
Karşıtlık esnetme

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

19/101
Karşıtlık esnetme

 Karşıtlık esnetmenin grafiksel ifadesi


aşağıdaki şekilde gösterilmiştir:
V

γ
Vb

Va
α u

a b L

20/101
Karşıtlık esnetme

21/101
Kırpma ve Eşikleme
(Clipping and Thresholding)
 Kırpma; karşılık esnetmenin özel bir
durumudur. Giriş sinyalindeki renk değerleri
sadece 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.

22/101
Kırpma

 Ö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.

23/101
Eşikleme

 Kırpma işleminin bir değişik durumu da eşikleme


olarak adlandırılı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”.

24/101
Kırpma ve Eşikleme
Dönüşüm Fonksiyonları

v v

a b u u

25/101
Kırpma Örneği

orijinal kırpılmış

26/101
Eşikleme Örneği

orijinal Eşikleme yapılmış

27/101
Sayısal Negatif (tersleme)
(Digital Negative)
 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.

28/101
Sayısal Negatif
dönüşüm fonksiyonu
 Aşağıda, sayısal negatif alma işleminin
dönüşüm fonksiyon grafiği verilmiştir:
v

0 L u

29/101
Sayısal Negatif Örneği

orijinal negatif

30/101
Sayısal Negatif (MATLAB)

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

31/101
Bazı dönüşüm fonksiyonları

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

Piksel renk değeri

32/101
Gri Seviyesi Dilimleme
(Intensity Level Slicing )
 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.
33/101
Gri Seviyesi Dilimleme Örneği

A-B arası A-B arası


haricinde haricinde
0 yapılmış aynen bırakılmış

orijinal işlenmiş

34/101
Gri Seviyesi Dilimleme

 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

35/101
Bit Çıkarma (Bit Extraction)

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

 Fonksiyon şu şekilde yazılabilir:


 L, k n = 1 ise
f (u ) = 
 0, aksi halde
36/101
Alan Sıkıştırma
(Range Compression)
 İ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ır. 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.
 Ö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.

37/101
Alan Sıkıştırma

 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 log10 (1 + u )
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.

38/101
İmge Çıkarma ve Değişiklik Tespit Etme
(Image Subtraction and Change Detection)
 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.
 Ö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.

39/101
İmge Çıkarma ve Değişiklik Tespit Etme

 (a) orijinal fotoğraf


 (b) bir para yer değiştirdikten sonra
 (c) nokta-nokta çıkarımdan sonraki fark.

40/101
İmge Çıkarma ve Değişiklik Tespit Etme

41/101
Histogram Modelleme
(Histogram Modeling)

42/101
Histogram Modelleme
(Histogram Modeling)
 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

43/101
Histogram Modelleme
Histogramlarda konum bilgisi bulunmaz!

44/101
Histogram Modelleme

Karanlık imge

Aydınlık İmge

45/101
Histogram Modelleme

Düşük karşıtlık

Yüksek karşıtlık

46/101
Histogram Modelleme (MATLAB)

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

800

600

400

200

0 50 100 150 200 250

47/101
Histogram Eşitleme
(Histogram Equalization)
 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.
 Histogram eşitlemede amaç, renklerin
frekanslarının histogram üzerinde bir yerde
yığılmadan, düzgün dağılmasını sağlamaktır.
 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.
48/101
Histogram Eşitleme

49/101
Histogram Eşitleme (algoritma)
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.

50/101
Histogram Eşitleme (MATLAB)
 imge = imread('tire.tif');
esitenen = histeq(I);
figure, imshow(imge), figure, imshow(esitlenen)

51/101
Histogram Değiştirme / Histogram Belirtme
(Histogram Modification / Specification)
 Ö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
 Histogram belirtme, 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 algoritmaları ile, belirlenmiş bir histogram
elde etmek üzere kaynak imgede işlemler yapılır.

52/101
Histogram Değiştirme / Histogram Belirtme
(Histogram Modification / Specification)
 Ö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
 Histogram belirtme, 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 algoritmaları ile, belirlenmiş bir histogram
elde etmek üzere kaynak imgede işlemler yapılır.

53/101
Uzaysal (Uzamsal) İşlemler
(Spatial Operations)

54/101
Uzaysal İşlemler (Spatial Operations)

 İmge, “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. İ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.

55/101
Uzaysal Ortalama ve Uzaysal Alçak Geçiren Filtre
(Spatial Averaging and Spatial Low-pass Filtering)

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

56/101
Uzaysal Ortalama ve Uzaysal Alçak Geçiren Filtre

57/101
Uzaysal Ortalama ve Uzaysal Alçak Geçiren Filtre

58/101
Uzaysal Ortalama ve Uzaysal Alçak Geçiren Filtre

59/101
Uzaysal Ortalama ve Uzaysal Alçak Geçiren Filtre

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,[]);

60/101
Uzaysal Ortalama ve Uzaysal Alçak Geçiren Filtre

61/101
Yönlü Yumuşatma
(Directional Smoothing)
 İ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.Matematiksel olarak şöyle ifade
edilebilir:
1
v(m, n : θ ) =

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

62/101
Ortanca Filtresi
(Median Filtering)
 Komşu piksel değerleri önce sıraya konulur,
sonra ortadaki değer alınır. Genellikle tek
sayıda komşu seçilir. Eğer çift sayıda komşu
kullanılırsa, 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 }

63/101
Ortanca Filtresi

64/101
Ortanca Filtresi
ÖRNEK
 Aşağıdaki sayılar için ortanca filtresi uygulayalım
(pencere genişliği 3 için):
 g = [2,32,2,1,2,8,9]
 ç [0] = [2,2,32] = [2,2,32] => 2
ç [1] = [2,32,2] = [2,2,32] => 2
ç [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.

65/101
Ortanca Filtresi

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)

66/101
Ortanca Filtresi

67/101
Keskinlik Maskelemesi ve kenar Koyulaştırma
(Unsharp Masking and Crispening)
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.

68/101
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)

69/101
Keskinlik Maskelemesi

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')

70/101
Keskinlik Maskelemesi

71/101
Keskinlik Maskelemesi

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ş');

72/101
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.

73/101
Uzaysal Alçak-Geçiren, Yüksek Geçiren
ve Bant Geçiren Filtreleme

74/101
İmge Büyütme
(Magnification and Interpolation [Zooming] )

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.

75/101
Replikasyon (Replication)
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

76/101
Replikasyon

77/101
Replikasyon

78/101
Doğrusal Çoğullama
(Linear Interpolation)
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.

79/101
Doğrusal Çoğullama

80/101
Dönüşüm İşlemleri
(Transform Operations)
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.

81/101
Dönüşüm İşlemleri

82/101
Genelleştirilmiş Doğrusal Filtreleme
(Generalized Linear Filtering)

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.

83/101
Genelleştirilmiş Doğrusal Filtreleme

84/101
Genelleştirilmiş Cepstrum ve Homomorfik Filtreleme
(Generalized Cepstrum and Homomorphic Filtering)

 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.
 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.
 Başka bir deyişle ışık dağılımın dengeli
olmadığı imgelerde kullanışlıdır.

85/101
Genelleştirilmiş Cepstrum ve Homomorfik Filtreleme

86/101
Çoğul Tayflı İmge İyileştirme
(Multispectral Image Enhancement)
 Ç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
imge kullanılır.

87/101
Çoğul Tayflı İmge İyileştirme

88/101
Çoğul Tayflı İmge İyileştirme
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.

89/101
Çoğul Tayflı İmge İyileştirme

90/101
Çoğul Tayflı İmge İyileştirme
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)

91/101
Çoğul Tayflı İmge İyileştirme
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 oluşturmada daha
etkili iken sonrakilere doğru etki gittikçe azalır.

92/101
Çoğul Tayflı İmge İyileştirme

93/101
Sahte Renklendirme
(Falsecolor and Pseudocolor)
 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.

94/101
Sahte Renklendirme
(Falsecolor and Pseudocolor)
 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.

95/101
Sahte Renklendirme

96/101
Sahte Renklendirme

97/101
Renkli İmge İyileştirme
(Color Image Enhancement)

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

98/101
Renkli İmge İyileştirme

99/101
Özet (Summary)

 İ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: “en iyi sonuç deneme yanılma yöntemiyle
bulunur”.

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

101/101
BİTMEZ…

Murat Özalp

You might also like