İLERİ GÖRÜNTÜ İŞLEME Ders- Elektromanyetik Spektrum Görünür Bölge 7 nm 4 nm Temel Kavramlar (Prof. Dr. Sarp ERTÜRK) 9/24/24 2 Hazırlayan: M. Kemal GÜLLÜ Sayısal İmge Gösterimi f x, y imgesi örneklendiğinde M satır ve N sütunluk bir sayısal imge oluşur. Sayısal İmge Gösterimi Bazen sayısal imge gösterimi:,, a i, j f xi y j f i j Resim elemanı (piksel) Sayısallaştırmda genellikle uzamsal boyutlar önemli değildir. Donanımsan açıdan asıl önemli olan, gri ton seviyesinin 2 nin kuvveti olmasıdır. L 2, L : imgenin dinamik aralığı (dynamic range). k 9/24/24 3 9/24/24 4 Sayısal İmge Gösterimi Sayısal İmge Sayısal imgeyi saklamak için gerekli olan bit sayısı: Uzamsal çözünürlük: bm Nk 28x28 64x64 M N : 256x256 52x52 24x24 9/24/24 5 9/24/24 6
Sayısal İmge Bit derinliği: devirme B A B j, i A( i, j) i,..., N, j,..., M L=8 L=7 L=6 L=5 9/24/24 7 L=4 L=3 L=2 L= 24 Eylül 24 8 düşeyde çevirme B i, M j A( i, j) i,..., N, j,..., M döndürme 9, 8, 27 gibi açılarda döndürme işlemlerini kolayca gerçekleştirebiliriz. Bu açıların dışındaki değerlerde ise açısal döndürme işlemlerinin (Sin x, Cos x değerlerini kullanarak) yapılması gerekmektedir. Bunun yerine, Matlab hazır işlevlerinden imrotate kullanılabilir. 24 Eylül 24 9 Ir=imrotate(I,açı,yöntem); açı: saat yönünün tersi dönülecek açı değeri. yöntem: döndürme işlemi sonrasında yeni piksel değerlerinin hesaplanacağı aradeğerleme yöntemi. nearest, bilinear, bicubic, Örn; Ir=imrotate(I,45, bilinear ); 24 Eylül 24 kırpma B i, j A( n i, n j) i,..., m, j,..., m n, n başlangıç noktası m, m pencere boyutları öteleme B i, j A( in, jn ) i n,..., N, j n,..., M n, n başlangıç noktası 24 Eylül 24 24 Eylül 24 2 2
öteleme Öteleme işlemi yapan bir Matlab işlevi yazalım: function [B]=my_otele(A,n,n2) [w,h]=size(a); B=zeros(w,h); boyut değiştirme-yakınlaştırma Yakınlaştırma, düşük piksel boyutlu bir imgenin piksel boyutunun yazılımsal olarak arttırılmasıdır. Sayısal yakınlaştırma (digital zoom). for i=n:w for j=n2:h B(i,j)=A(i-n+,j-n2+); end end Burada for döngüleri yerine tek bir satır yazarak aynı işlem yapılabilir.? 24 Eylül 24 3 24 Eylül 24 4 boyut değiştirme-yakınlaştırma boyut değiştirme-yakınlaştırma Boyut büyültmede daha yumuşak geçişler için: Hangisi daha görünür? 24 Eylül 24 5 24 Eylül 24 6 boyut değiştirme-uzaklaştırma boyut değiştirme Birden fazla pikselin değeri çeşitli matematiksel işlemlerden geçirilerek bir piksele atanır. Matlab ile boyut değiştirme için imresize adındaki işlev kullanılabilmektedir. Is=imresize(I,oran,yöntem); oran yöntem : giriş imgesinin boyutunun değişme oranını verir. oran> (büyütme), oran< (küçültme). : boyut değiştirmede kullanılacak aradeğerleme yöntemi. Örn; Is=imresize(I,.97, bicubic ); 24 Eylül 24 7 24 Eylül 24 8 3
İmge oluşturma İmge oluşturma (28,28) merkezli, yarıçapı 8 piksel beyaz bir daire 256 256 24 Eylül 24 9 24 Eylül 24 2 İmge oluşturma Ortalama ve Değişinti??? A B Bir imgenin örnek ortalaması (sample mean): C = X / 255 Örnek değişintisi (sample variance): Örnek standart sapması (sample std. dev.): 24 Eylül 24 2 24 Eylül 24 22 Nokta İşlemleri Parlaklık Ayarı Piksellerden oluşan imge uzayına uzamsal düzlem (spatial domain) denir. Uzamsal düzlem işlemleri aşağıdaki gösterimle ifade edilmektedir.,, g xy Tf xy işlev Buradaki T işlevi, doğrudan (x,y) pikselini işleyebileceği gibi, (x,y) pikselinin komşuluklarını da hesaba katabilir.,, f xy, b g xy T f xy s r b b> ise parlaklık artar b< ise parlaklık azalır 24 Eylül 24 23 orjinal b = -5 b = +5 24 Eylül 24 24 4
Karşıtlık (Kontrast) Ayarı Parlaklık+Karşıtlık Ayarı,, af x, y g xy Tf xy s ar a> ise karşıtlık artar a< ise karşıtlık azalır Kısmi-doğrusal dönüşüm orjinal a =.5 a = 2 24 Eylül 24 25 24 Eylül 24 26 Eşikleme Olumsuzlama g g 255 T 255 s r f Sonuçta ikili (binary) imge oluşuyor. 255 s L r L 255 255 s r f 24 Eylül 24 27 24 Eylül 24 28 Her bir gri ton seviyesinin ([,255]) imgedeki bulunma sıklığını (frekansını) gösterir. Yani imgedeki piksellerin dağılımı hakkında bilgi verir. İmge pekiştirmede sıkça kullanılmaktadır. hrk nk rk : k. gri seviye nk : k. gri seviyedeki toplam piksel sayısı normalize edildiğinde ise gri seviyelerin imge içerisindeki bulunma olasılıklarını verir. imgedeki toplam piksel sayısı İlgili seviyenini olasılık değeri / p rk nk n k,,..., L MATLAB imhist işlevi gri ton seviyesi 24 Eylül 24 29 24 Eylül 24 3 5
Karanlık imge Parlak imge Piksel konum bilgisi bulunmaz! 24 Eylül 24 3 24 Eylül 24 32 Eşitleme Karşıtlığı düşük imge Amaç: İmgedeki düşük görünürlüğü iyileştirmek. Olasılık dağılımına bağlı olarak doğrusal olmayan dönüşüm gerçekleştirilir. Bu sayede, bulunma olasılığı yüksek pikseller arası fazlaca açılırken, düşük olasılıklı seviyeler birbirine daha yakın hale gelir. cdf v cdf min cdf v round L M N cdf min Karşıtlığı yüksek imge 24 Eylül 24 33 24 Eylül 24 34 Eşitleme Piksel Komşuluk İşlemleri İmgenin olasılık dağılım fonksiyonu doğrusallaştırılmaktadır. Doğrusallaştırılmış cdf Her bir piksel için yeni bir değer hesaplanmaktadı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 kullanlmaktadır. Hesapsal yükü, nokta işlemlerine göre oldukça fazla olabilmektedir. 24 Eylül 24 35 24 Eylül 24 36 6
İki fonksiyonun etkileşimi olarak ifade edilebilir. f * g f g t d İmge (işaret) işlemede sıkça kullanılmaktadır. Sistemin, giriş işaretine etkisini vermektedir. Evrişimin ayrık zamanlı 2-boyutlu ifadesi: g x, y k* f m n,, k i j f xi y j im jn k,, evrişim çekirdeği (convolution kernel) f, giriş imgesi g, çıkış imgesi xy,, ilgili piksel konumu 2m,2n, çekirdeğin yatay ve düşey uzunluğu Evrişim çekirdeği (kernel) genelde, evrişim maskesi (convolution mask) veya evrişim penceresi (convolution window) olarak da adlandırılabilmektedir. 24 Eylül 24 37 24 Eylül 24 38 g x, y k* f m n ki, j f xi, y j im jn * 2 2 Giriş imgesi Evrişim çekirdeği Çıkış imgesi 24 Eylül 24 39 MATLAB da 2-boyutlu evrişim conv2 işlevi ile yapılabilmektedir. Bunun yanında imge süzgeçlerken genellikle imfilter işlevi kullanılmaktadır. 24 Eylül 24 4 Evrişim işleminde kenar bölgelerindeki taşma durumunda olası işlemler: Kenar bölgelerini işlememe, Kenar bölgelerini kesme, Kenar bölgelerinde evrişim çekirdeğini kırpma, Kenar bölgelerini aynen kopyalama (imge boyutları büyür), Kenar bölgelerini aynalayarak kopyalama (imge boyutları büyür)... Hesapsal yük: mn, boyutlu bir evrişim çekirdeği kullanıldığında bir piksel için çıkış değerinin hesaplanmasında gerekli işlem sayısı: mnçarpmamn toplama Delta fonksiyonu (Birim Dürtü) Kaydır ve çıkart 24 Eylül 24 4 24 Eylül 24 42 7
Uzamsal Frekans Kavramı İmgede pikseller arasındaki yumuşak geçişler uzamsal düşük frekanslara karşılık gelir. /8 /8 /8 /8 /8 /8 /8 /8 Kenar bulma Sert geçişler (kenarlar, nesne sınırları...) uzamsal yüksek frekanslara karşılık gelir. k/8 k/8 k/8 k/8 k k/8 k/8 k/8 k/8 Kenar pekiştirme 24 Eylül 24 43 24 Eylül 24 44 -Yumuşatma -Yumuşatma En temel evrişim çekirdeğidir. İmgedeki gürültü etkilerini azaltır. Kenarları yumuşatır. /9 /25 Çekirdek boyutunun yumuşatmaya etkisi: Orjinal imge 3x3 5x5 24 Eylül 24 45 9x9 5x5 35x35 24 Eylül 24 46 Ortanca (Median) Süzgeç Ortanca (Median) Süzgeç Süzgeçleme işlemi, pencere içerisindeki piksellerin sıralanması temelinde yapmaktadır. Doğrusal olmayan bir süzgeçlemedir. Dürtü ve tuz-biber gürültülerinin giderilmesinde etkin başarım sağlamaktadır. İmgenin kenar bölgelerini bozmaktadır. Tuz ve biber gürültüsünün (salt and pepper noise) ortanca süzgeç ile giderilmesi 25, 28, 29, 34, 38, 4, 45, 46, 56 Yeni piksel değeri Gürültü eklenmiş imge 3x3 ortalama süzgeç ile gürültü giderme 3x3 ortanca süzgeç ile gürültü giderme 24 Eylül 24 MATLAB da imgeye gürültü eklemek için imnoise işlevi kullanılmaktadır. 47 24 Eylül 24 MATLAB da ortanca süzgeçleme için medfilt2 işlevi kullanılmaktadır. 48 8
RGB Renk Modeli Her pikselin kırmızı, yeşil ve mavi renk bileşeni için bir değeri mevcuttur. RGB Modeli Genelde her bileşenin gösterimi için 8 bit kullanılmaktadır. B blue magenta cyan white Kids image Red color components of the image black red R G green yellow Green color components of the image Blue color components of the image 24 Eylül 24 49 24 Eylül 24 5 HSI Modeli H (hue): renk S (saturation): doygunluk I (intensity): ışıklılık HSI Modeli İlk değer baskın renk (hue) değerini göstermektedir (.:kırmızı,.33 yeşil,.67 mavi,.: kırmızı). İkinci değer rengin doygunluğunu kodlamakatadır (.: renksiz (gri).: canlı renk (grisiz). Son değer de ışıklılığı göstermektedir (.: siyah.: aydınlık). Kids image Hue components of the image Saturation components of the image Intensity components of the image 24 Eylül 24 5 24 Eylül 24 52 9