Professional Documents
Culture Documents
(IMAGE ENHANCEMENT)
Murat Özalp
İmge İyileştirme: Giriş
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ı
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
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)
v = f (u )
13/101
Parlaklık (brightness) değiştirme
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
19/101
Karşıtlık esnetme
γ
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
23/101
Eşikleme
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
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ı
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
orijinal işlenmiş
34/101
Gri Seviyesi Dilimleme
L, a ≤ u ≤ b
Arka planda imge varsa: f (u ) =
u , aksi halde
35/101
Bit Çıkarma (Bit Extraction)
37/101
Alan Sıkıştırma
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
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
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
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)
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
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 : θ ) =
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
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
69/101
Keskinlik Maskelemesi
70/101
Keskinlik Maskelemesi
71/101
Keskinlik Maskelemesi
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] )
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)
83/101
Genelleştirilmiş Doğrusal Filtreleme
84/101
Genelleştirilmiş Cepstrum ve Homomorfik Filtreleme
(Generalized Cepstrum and Homomorphic Filtering)
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ı
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)
98/101
Renkli İmge İyileştirme
99/101
Özet (Summary)
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