İMGE İYİLEŞTİRME (IMAGE ENHANCEMENT) Murat Özalp 2/101 İ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! 3/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. 4/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) 5/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 6/101 İmge İyileştirme Genel Gösterim Girdi imgesi Operatör (İşlem) İşlenmiş imge )] , ( [ ) , ( y x f T y x g · 7/101 Niceleme ve Örnekleme 8/101 Renk Skalası Renkli skala Gri skala 9/101 Sayısal İmge Gösterimi 10/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. 11/101 Frekans Alanında İyileştirme Ö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) 12/101 Nokta İşlemleri (Point Operations) 13/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: ) (u f v · 14/101 Parlaklık (brightness) değiştirme Basitçe aşağıdaki gibi ifade edilir: 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. b y x f y x g + · ) , ( ) , ( 15/101 Parlaklık değiştirme 16/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: ) , ( . ) , ( y x f a y x g · 17/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: b y x f a y x g + · ) , ( . ) , ( 18/101 Karşıtlık değiştirme 19/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. 20/101 Karşıtlık esnetme Karşıtlık esnetmenin grafiksel ifadesi aşağıdaki şekilde gösterilmiştir: u V b V a a b L V γ α β 21/101 Karşıtlık esnetme 22/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. 23/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. 24/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”. 25/101 Kırpma ve Eşikleme Dönüşüm Fonksiyonları a b v u v u 26/101 Kırpma Örneği orijinal kırpılmış 27/101 Eşikleme Örneği orijinal Eşikleme yapılmış 28/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. 29/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 u L L 0 30/101 Sayısal Negatif Örneği orijinal negatif 31/101 Sayısal Negatif (MATLAB) imge = imread('edebali.jpg'); ters = imcomplement(imge); imshow(imge); figure,imshow(ters); 32/101 Bazı dönüşüm fonksiyonları Piksel renk değeri G ö r ü n t ü n ü n p a r l a k l ı ğ ı ( % ) 33/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. 34/101 Gri Seviyesi Dilimleme Örneği orijinal işlenmiş A-B arası haricinde 0 yapılmış A-B arası haricinde aynen bırakılmış 35/101 Gri Seviyesi Dilimleme Gri seviyesi dilimleme fonksiyonu basitçe aşağıdaki gibi ifade edilmektedir: Arka planda imge yoksa: Arka planda imge varsa: ¹ ' ¹ ≤ ≤ · halde aksi b u a L u f , 0 , ) ( ¹ ' ¹ ≤ ≤ · halde aksi u b u a L u f , , ) ( 36/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: ¹ ' ¹ · , 0 , ) ( L u f halde aksi ise k n 1 · 37/101 Alan Sıkıştırma (Range Compression) İnsan gözünün karşıtlık algılayabilme oranı 10 8 :1 ‘e kadar çıkabilmektedir. Normal zamanlarda ise ortalama karşıtlık algılama oranımız, 3x10 4 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. 38/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: 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. ( ) u c v + · 1 log 10 39/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. 40/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. 41/101 İmge Çıkarma ve Değişiklik Tespit Etme 42/101 Histogram Modelleme (Histogram Modeling) 43/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 44/101 Histogram Modelleme Histogramlarda konum bilgisi bulunmaz! 45/101 Histogram Modelleme Karanlık imge Aydınlık İmge 46/101 Histogram Modelleme Düşük karşıtlık Yüksek karşıtlık 47/101 Histogram Modelleme (MATLAB) imge=imread('tire.tif'); h=imhist(imge); figure, imshow(imge); figure, imhist(imge); 0 200 400 600 800 0 50 100 150 200 250 48/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. 49/101 Histogram Eşitleme 50/101 Histogram Eşitleme (algoritma) 1. Yükseltme faktörünüşeklinde hesapla 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. sayisi nokta top. 255 · d 51/101 Histogram Eşitleme (MATLAB) imge = imread('tire.tif'); esitenen = histeq(I); figure, imshow(imge), figure, imshow(esitlenen) 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 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. 54/101 Uzaysal (Uzamsal) İşlemler (Spatial Operations) 55/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. 56/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çakgeçirenfiltreolarakadlandırılmasının sebebideimgeningritonlarındakikeskin geçişleri azaltmasıdır. 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 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,[]); 61/101 Uzaysal Ortalama ve Uzaysal Alçak Geçiren Filtre 62/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: ∑∑ ∈ − − · θ θ θ W l k l n k m y N n m v ) , ( ) , ( 1 ) : , ( 63/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: { ¦ W l k l n k m y n m v ∈ − − · ) , ( ), , ( median ) , ( 64/101 Ortanca Filtresi 65/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. 66/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) 67/101 Ortanca Filtresi 68/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. 69/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: ) , ( ) , ( ) , ( n m g n m u n m v λ + · 70/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') 71/101 Keskinlik Maskelemesi 72/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ş'); 73/101 Uzaysal Alçak-Geçiren, Yüksek Geçiren ve Bant Geçiren Filtreleme Alçakgeçirenfiltrelergenelliklegürültü temizlemek ve enterpolasyon için kullanılırlar. Yüksekgeçirenfiltreleriseimgeyi keskinleştirmekvekenarlarıbulmakiçin kullanılır.Bantgeçirenfiltrelerdekenarların iyileştirilmesinde,imgedekigürültülerdefarklı ayarlarda yüksek geçiren gibi kullanılabilir. 74/101 Uzaysal Alçak-Geçiren, Yüksek Geçiren ve Bant Geçiren Filtreleme 75/101 İmge Büyütme (Magnification and Interpolation [Zooming] ) Görüntüişlemedesıklıklabirimgeninbir bölümünündahayakındangörülmesi gerekmektedir.Buişlemeimgebüyütmeadı verilir. Aşağıda farklı imge büyütme teknikleri görülmektedir. 76/101 Replikasyon (Replication) Birimgedesatırlardaherpikselintekrarlanmasıve sonrasatırındatekrarlanmasışeklindeyapılır. Başkabirdeyişlebu;MxNboyutundabirimgede öncesatırvesütunlarınarasınıaçarak2Mx2N boyutundabirmatriseldeetmekvesonrabu sonucuaşağıdaverilenH dizisiilekonvolveetmek anlamına gelmektedir. ] ] ] · 1 1 1 1 H 77/101 Replikasyon 78/101 Replikasyon 79/101 Doğrusal Çoğullama (Linear Interpolation) Doğrusalçoğullamayöntemindeöncehersatır ve sütun için iki piksel arasına bir 0 eklenerek önce imgenin piksel sayısı artırılır. Sonra her 0olanpikseliçinöncesatırda,sonrada sütunlardaikiyankomşusununortalaması alınarak bu 0 yerine yazılır. 80/101 Doğrusal Çoğullama 81/101 Dönüşüm İşlemleri (Transform Operations) Dönüşümişlemleriiyileştirmetekniklerinde, dönüştürülmüşimgeüzerindehafızasız işlemleruygulanırsonratersdönüşüm yapılır. 82/101 Dönüşüm İşlemleri 83/101 Genelleştirilmiş Doğrusal Filtreleme (Generalized Linear Filtering) Genelleştirilmişdoğrusalfiltrelemede,hafızasız dönüşüm alan işlemi piksel piksel çarpılır: Burada,g(k,l)bir“bölgeselmaske”olarak adlandırılır. ) , ( ) , ( ) , ( l k v l k g l k v · • 84/101 Genelleştirilmiş Doğrusal Filtreleme 85/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. 86/101 Genelleştirilmiş Cepstrum ve Homomorfik Filtreleme 87/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. 88/101 Çoğul Tayflı İmge İyileştirme 89/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. 90/101 Çoğul Tayflı İmge İyileştirme 91/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: ) , ( log ) , ( log log , , n m u n m u R L j i j i j i − · · ∆ 92/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: 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. ] ] ] ] ] ] · ) , ( ) , ( ) , ( ) , ( 2 1 n m u n m u n m u n m u I 93/101 Çoğul Tayflı İmge İyileştirme 94/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. 95/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. 96/101 Sahte Renklendirme 97/101 Sahte Renklendirme 98/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. 99/101 Renkli İmge İyileştirme 100/101 Özet (Summary) İmgeiyileştirmedeenönemlinokta,kullanılacak tekniklerinobjektifolmamasıdır.İmgeiyileştirme kullanılacakolanheruygulamada,ouygulamaya özeltekniklerplanlanmalıdır.Bunedenle,modern imgeiyileştirmesistemlerindeişlemsırasında parametrelerindeğiştirilmesineolanaksağlayan etkileşimli uygulamalar geliştirilmektedir. İmgeiyileştirmedeherzamaniçindeğişmeyen kural:“eniyisonuçdenemeyanılmayöntemiyle bulunur”. 101/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ı BİTMEZ… Murat Özalp