İmge Kavramı Sayısal İmge (Digital Image), çeşitli yollarla elde edilen bilgilerin görsel olarak saklanmasına ve gösterimine olanak sağlayan yapılardır. Her türlü iki boyutlu bilgi imge olarak ele alınabilir. 1
Frekans Spektrumu Elektromanyetik tayfa bakıldığında görülebilir ışığın dalgaboyu, tayfın çok küçük bir bölümü olan 350nm 780nm değerleri arasındadır. frekans 2 dalga boyu
Frekans Spektrumu RGB Renk Modeli A: İnsan gözünün renk alanı B: Renkli filmin renk alanı C: Bilgisayar ekranının renk alanı D: Baskı renk alanı 3
İnsan Görme Sistemi Gözün odaklandığı bir nesneden gelen ışık, korneadan geçerek ağ tabaka üzerine düşer. Bir nesnenin algılanmasında, ağ tabaka üzerinde bulunan çubuksu ve konisel algılayıcıların çok büyük önemi vardır. Çubuk algılayıcıları ışığa daha hassas olup daha narin ve uzundurlar ve sayıları yaklaşık 75 150 milyon civarındadır. Daha kısa ve kalın yapıda olan koni algılayıcıları ise ışığın renk bileşenine hassastırlar ve sayıları yaklaşık 6 7 milyondur. Yakın geçmişte, retinadaki konik algılayıcıların 3 temel tipinin olduğu deneysel olarak belirlenmiştir. Bu sistemdeki üç renkli model insan gözünün farklı dalga boylarına (bantlarına) duyarlı üç farklı algılayıcıya sahip olduğunu varsaymaktadır. Koni algılayıcılarının % 65 i kırmızı, % 33 ü yeşil ve geriye kalan % 2 si ise mavi rengin algılanmasında işlev görürler. Bu durum mavi rengin algılanma hassasiyetinin kırmızı ve yeşil renklere göre daha düşük olduğu anlamına gelmektedir.!!! Güvenlik uygulamaları açısından üzerinde düşünmeye değer bir durum 4
Sayısal İmgenin oluşturulması İmgeler, 3 boyutlu gerçek nesne uzayından sadece 2 boyutun kullanımı ile oluşturulur. Kamera benzeri cihazların ışığa duyarlı 2-B yüzeyine nesneden yansıyan ışık kullanılarak imge uzayına geçilir. 5
6 ') ', ( )},, ( ),, ( { ),, ( ),, ( ),, ( ),, ( y x c z y x r z y x f P z y x r z y x f z y x r z y x f Obje uzayındaki (x,y,z) noktasındaki ışığın şiddeti Obje uzayında (x,y,z) noktasının yansıtıcılık katsayısı Obje uzayındaki (x,y,z) noktasından yansıyan ışığın şiddeti Obje uzayından imge uzayına izdüşümü (projection) Sayısal İmgenin oluşturulması
İmge Oluşumu Işık Şiddeti: Açık Hava: 90.000 lümen / m 2 Kapalı Hava: 10.000 lümen / m 2 Dolunay: 0.1 lümen / m 2 Ofis Ortamı: 1000 lümen / m 2 Yansıtıcılık (Reflectivity) Katsayısı: 0 r( x, y, z) 1 Siyah Kumaş: 0.01 Paslanmaz Çelik: 0.65 Düz Beyaz Duvar: 0.80 Gümüş Kaplı Metal: 0.90 Kar: 0.93 7
Video Kavramı İnsan beyni, belirli şartlar altında gözün retinasına odaklanmış hareketli bir imge ile çok hızlı değişen bir durağan imge dizisi arasındaki farkı algılayamaz. Psikogörsel araştırmalarda bu bulguyu destekleyen sonuçlar vermektedir. 8
Televizyon (Video nun İletimi) Günümüzde video kayıt, saklama ve iletim sistemlerinin bir kısmı halen analog biçimde çalışmaktadır (örn; analog TV iletimi). Analog video işareti tek boyutlu ve zamana bağlı elektriksel işarettir. 2-B olan video bilgisinin tek boyutlu zamanla değişen bir işarete çevrilmesi ile elde edilir. Bu işlem tarama adı verilen bir yöntemle yapılır. 9
Tarama Yöntemleri Sıralı tarama (progressive scanning) yönteminde görüntüdeki bütün satırlar sırasıyla teker teker taranır. Bilgisayar teknolojilerinde yaygın olarak sıralı tarama kullanılır. Binişimle/geçmeli tarama (interlaced scanning) yönteminde öncelikle tek satırlar, sonrasında çift satırlar taranır. Yaygın olarak televizyon teknolojisinde kullanılır. Örneğin bir dönem Cine 5 kanalı tarama sırasını değiştirerek şifreleme yapmakta idi. 10
Analog Videoda Çözünürlük Her çerçevede taranan satır sayısına bağlıdır. 11
Görsel Kırpışma Duyarlığı Genel olarak insan gözünün hareketsiz resimleri hareketli olarak algılaması için saniyede 50 resim gösterilmesi gerekir. 12
Televizyon İşareti (Siyah-Beyaz) 13
Sayısal İmge Kavramı İmge Modeli: İmge iki boyutlu ışık-yoğunluk fonksiyonu olarak adlandırılabilir ve f(x,y) ile gösterilir. (x,y) noktasındaki pikselin ışıklılık (intensity) değerini ifade etmektedir. 14
Sayısal İmge: Sayısala Dönüştürme İmgelerin sayısal imge işleme teknikleri ile işlenebilmesi için analog biçimden sayısala çevrilmesi gerekmektedir. Bilindiği gibi analog bir işaretin çevrilmesi iki aşamada gerçekleşir. 1.Örnekleme(Sampling): İşaretten belirli zaman aralıklarında örnekler alınması anlamına gelir. İki boyutlu imgelerde uzamsal düzlemin sayısallaştırılmasına karşılık gelir. 2.Nicemleme (Quantization): Genlik seviyelerinin sadece belirli değerleri alması işlemidir. Genlik değerlerinin sayısallaştırılmasına karşılık gelir. Sayısallaştırma = Örnekleme + Nicemleme 15
16
Örnekleme & Kuantalama 17
Örnekleme & Kuantalama Örnekleme: Uzamsal çözünürlüğü (spatial resolution) etkiler. İmgenin boyutunu belirler. Kuantalama: Bit derinliğini (bit-depth) etkiler. 8-bit = 256 gray levels 18
Sayısal İmgede Piksel Kavramı 19
Sayısal İmgede Piksel Kavramı 20
Uzamsal (Spatial) Çözünürlük Orijinal 1024x1024 8-bit imge 512x512 lik imge 1024x1024 lik imgenin çift numaralı satır ve sütunlarının muhafaza edilip tek numaralı satır ve sütunlarının atılmasıyla elde edilmektedir. Diğer imgeler de benzer şekilde elde edilir. 21
Sayısal İmgede Örnekleme (Uzamsal Çözünürlük) 22
Sayısal İmgede Örnekleme (Uzamsal Çözünürlük) 23
İmge Dosyaları (Tipleri) Sayısal İmgeler manyetik, optik, flash disk gibi ortamlarda dosyalar halinde saklanmaktadırlar. İmge dosyalarının bilgisayarda saklanması için genellikle.bmp veya.jpg dosya tipleri tercih edilmektedir. Örneğin gri-tonlu (gray-scale) 8 bit/pixel bit derinliğinde 200 200 piksel boyutunda bir imgenin bellekte kaplayacağı alanı hesaplayalım: İmgede 200 200 = 40000 piksel bulunacaktır. 8 bit/pixel bit derinliği kullanıldığından her piksel 8 bit = 1 byte ile ifade edilecektir. 40000 1 = 40000 byte/1024=39 Kbyte bellek kullanılmalıdır. Renkli imeler için ise bu değer 3 ile çarpılmalıdır. Yani RGB renk uzaylarının her biri için 40000 byte kullanılmalıdır (Toplam 120000 byte). Bu hesaplamalar herhangi bir sıkıştırma algoritması kullanılmaması durumunda geçerlidir. 24
Sayısal İmgelerin Dosya Yapısı format header image data Formats: gif, jpeg, pgm, pbm, tiff... 25
İmge Dosyaları (Tipleri): RAW Genellikle sadece piksel ışıklılık değerlerinin olduğu dosya tipidir. İmgenin piksel boyutunu gösteren herhangi bir başlık bilgisi içermez (genelde). Dosyadaki imgeyi açmak için piksel boyutunu bilmek gerekir. Matlab ile raw dosyaları açmak için standart dosya okuma işlemleri kullanılır. ÖR: Uygulama1.m clear all; close all; clc; w=256; h=256; % değişkenleri temizle, pencereleri kapat, ekranı sil % imgenin önceden bilinen yatay piksel sayısı % imgenin önceden bilinen dikey piksel sayısı image=[ Cameraman.raw ]; FILE=fopen(image, r ); I1=fread(FILE); Status=fclose(FILE); Im=reshape(I1,w,h) ; figure; imshow(uint8(im)); % dosya adı % dosya I1 değişkenine okundu % I1 değişkeni w h boyutuna getirilip, devriği % (transpoze) alınıp Im e atıldı ve ekranda gösterildi 26
İmge Dosyaları (Tipleri): RAW Dosyada herhangi bir başlık bilgisi bulunmadığı için dosya boyutu 256 256=65536 byte dır. Bu bilgi dosya özelliklerine girilerek veya Matlab da I1 değişkeninin boyutu kontrol edilerek doğrulanabilir. 27
İmge Dosyaları (Tipleri): YUV Hem ışıklılık (Y) hem de renk bileşenlerinin (U, V) olduğu dosya tipidir. Raw tipinde olduğu gibi genellikle imgenin piksel boyutu dosya içerisinde olmayıp önceden bilinmesi gerekir. Örneğin SIF formatındaki (352 240 piksel) XYZ.yuv dosyasını görüntü işleme programı olan Photoshop ta açmak için imge piksel boyutları 352 360 olarak belirtmek gerekir. Bunun nedeni ise ışıklılık bileşeninin 352 240 piksel yer kaplaması, renk bileşenlerinin ise bunun yarısı kadar yani 352 120 pikse yer kaplamasıdır. Genellikle ışıklılık bileşeni ile çalışıldığından YUV tipi dosyalardan Y bileşeni çekilerek farklı bir dosya biçiminde (raw, bmp) saklanır. 28
İmge Dosyaları (Tipleri): YUV Aşağıda Lena imgesinin R, G, B kanallarının ayrı ayrı görünümleri ile birlikte Y, U,V bileşenlerinin görünümleri de verilmiştir. R G B Y U V 29
İmge Dosyaları (Tipleri): BMP Yaygın olarak kullanılan sıkıştırılmamış bir imge dosya biçimidir. Genellikle her renk bileşeninin 8 bit/piksel bit derinliği ile ifade edildiği 24- bitlik format kullanılır. Gri tonlu imgeler bmp formatında saklandığı zaman 8 bit/piksel bit derinliği kullanılır. Raw tipinden farklı olarak ışıklılık varsa renk bilgisinin dışında imgenin piksel boyutu, bit derinliği gibi bilgileri tutan başlık kısmı mevcuttur. Matlab ile bmp uzantılı dosyaların açılması (gri tonlu imgeler iki boyutlu, renkli imgeler 3 boyutlu matris oluşturur): Ör: Uygulama2.m clear all; close all; clc; Im=imread( Peppers.bmp ); % peppers.bmp adlı dosyayı oku imshow(im); % İmgeyi göster 30
İmge Dosyaları (Tipleri): PGM P5 # PGM, grayscale, Binary 7 7 255 ÙÙÙÙÙÙÙÙÙÙÙÙÙÙÙÙÙ- ÙÙÙÙÙÙÙÙÙÙØÙÙÙ ÙÙ ØÙÙÙÙÙØØÙÙ 31
İmge Dosyaları (Tipleri): PGM P2 # PGM, grayscale, ASCII 7 7 255 217 217 217 217 217 217 217 217 217 217 217 217 217 217 217 217 217 30 217 217 217 217 217 26 26 26 217 217 217 217 217 26 216 217 217 217 217 217 215 216 217 217 217 217 217 216 216 217 217 32
İmge Dosyaları (Tipleri): TIFF, JPG, vb. Jpeg formatı özellikle sıkıştırma verimliliği nedeni ile internette kullanımıyla oldukça yaygınlaşmıştır. Genellikle kayıpsız sıkıştırma ile elde edilen jpeg dosyaları kullanılmaktadır. Tiff dosya biçimi kayıplı ve kayıpsız türde sıkıştırmaya ve sıkıştırma kullanmadan dosya saklamaya izin verir. Bu dosya tipleri de bmp gibi Matlab ın «imread()» komutu ile okunabilir. Imread komutunun desteklediği dosya tipleri aşağıda verilmektedir: JPEG, TIFF, GIF, BMP, PNG, HDF, PCX, XWD, ICO, CUR, RAS, PBM, PGM, PPM. 33
Standart İmge Piksel Boyutları İmge işlemede kullanılan bazı standart imge boyutu formatları bulunmaktadır. Bu formatlardan bazıları ve ilgili piksel boyutları aşağıda verilmektedir. CIF (Common Input Format): 352 288 piksel QCIF (Quadrat CIF): 176 144 piksel SIF (Source Input Format): 352 240 piksel 34
İmge Ters Çevirme (Flip) İmgelerle yapılacak işlemlerde, imgeleri w h boyutunda bir matris olarak düşünmek oldukça kolaylık sağlar. Ters çevirme işleminde, en üstteki satır en alt satıra, en alttaki satır ise en üste gelecek şekilde matrisin (imgenin) bütün elemanları (ışıklılık değerleri) yer değiştirmektedir. ÖR: Uygulama3.m clear all; close all; clc; Im=imread('Peppers.bmp'); % peppers.bmp adlı dosyayı oku imshow(imrotate(im,180)); % İmgeyi 180 derece çevirerek göster 35
İmge Aynalama (Mirror) Aynalama işlemi ters çevirme işleminin düşey eksende yapılmış şekli olarak ifade edilebilir. Bu durumda örneğin; [1, 1] noktasındaki piksel (sol üst köşedeki) [w, 1] noktasına (sağ üst köşeye), (w,1) noktasındaki piksel (sağ üst köşedeki) ise [1, 1] noktasına (sol üst köşeye gidecektir. Burada w imgenin yatay piksel uzunluğunu göstermektedir. 36 ÖR: Uygulama4.m clear all; close all; clc; Im=imread('Peppers.bmp'); araimge=imrotate(im,180); araimge(:, :, 1)=araimge(:, :, 1)'; araimge(:, :, 2)=araimge(:, :, 2)'; araimge(:, :, 3)=araimge(:, :, 3)'; imshow(imrotate(araimge, 90)); % imgeyi aynalayarak göster
Matlab ile İmge Döndürme İşlemleri Matlab ın hazır fonksiyonları arasında imge döndürmeye olanak sağlayan «imrotate» komutu bulunmaktadır. Kullanımı: o Imge=imrotate(Im, Açı, Yöntem) Im: Döndürülecek imge Açı: Saat yönünün tersinde kaç derece döndürüleceği Yöntem: Döndürme işlemi sonrasında imgelerin yeni pikse değerlerinin hangi aradeğerleme yöntemi ile belirleneceğini belirtmede kullanılır. o nearest, bilinear, bicubic değerlerini alabilir. Belirtilmemesi durumunda varsayılan yöntem nearest dir. Ör: Uygulama5.m clear all; close all; clc; Im=imread('Peppers.bmp'); % peppers.bmp adlı dosyayı oku imshow(imrotate(im,65,'bicubic')); % İmgeyi göster 37
İmge Öteleme (Shift) Öteleme işlemi, yatay ve düşey eksenlerde belirlenen piksel miktarı kadar imgenin yatay ve düşey eksende kaydırılması gerçekleştirilir. 30 piksellik yatay, 10 piksellik düşey öteleme için orijinal ve ötelenmiş imge aşağıda görülmektedir. 38
39 Kesme (Crop)
Yeniden Boyutlandırma (Resize / Zoom) 256 256 512 512 40
Boyut Değişikliği (Yakınlaştırma/Zoom In) Bilindiği üzere yakınlaştırma etkisi bir imge veya görüntü içerisinde ilgilenilen bölgenin daha büyük göstermeyi ve daha detaylı bilgi edinmeyi sağlamaktadır. Bu işlemin optik olarak fotoğraf makinesi veya kamera ile yapılması yakınlaştırma (optik zoom) sonrası elde edilen görüntüde kalite düşmesine neden olmazken, yazılımsal olarak (digital zoom) yapılması halinde düşmeye neden olur. 3 3 lük bir imgenin yakınlaştırma öncesi ve sonrasında piksel değerleri harflerle gösterilmiştir. Burada yapılan sadece ilgili piksel değerinin imge boyutunun iki katına çıkaracak şekilde yeni imgeye kopyalanmasıdır. (nearest neighbor interpolation) 41
Yakınlaştırma işleminde ilgilenilen pikselin değerini kopyalamak yerine komşu piksel değerleri de kullanabilir. Böylelikle daha yumuşak geçişler elde edilir. 42
Boyut Değişikliği (Uzaklaştırma/Zoom Out) Uzaklaştırma işleminde temel olarak birden fazla pikselin değeri çeşitli işlemlerden (ortalama gibi) geçirilerek bir piksele atanır. En basit uzaklaştırma yöntemi B, E, F değerini göz ardı edip 2x2 lik blok için A pikselinin değerini kullanmaktadır. Bu yöntemden biraz daha iyi sonuç veren aradeğerleme kullanılmaktadır. Uzaklaştırma işlemi uygulanan imgenin piksel değerleri 4 pikselin ışıklılık değerlerinin ortalaması ile bulunmaktadır. 43
Matlab ile İmge Boyut Değiştirme İşlemleri Matlab ın hazır fonksiyonları arasında imgenin piksel boyutunu değiştirmeye olanak sağlayan «imresize» komutu bulunmaktadır. o I2=imresize(I1, Oran, Yöntem); I1: Boyutu değiştirilecek imge Oran: Giriş imgesinin kaç kat büyütüleceği belirlenir. 1 den büyük olması durumunda yakınlaştırma, 1 den küçük olması durumunda uzaklaştırma işlemi yapılır. Yöntem: Boyut değiştirme işlemi sonrası imgelerin yeni piksel değerlerinin hangi değerleme yöntemi ile belirleneceğini belirtmede kullanılır. nearest, bicubic, bilinear değerlerini alabilir. Belirtilmemesi durumunda varsayılan yöntem nearest dir. Ör: Uygulama6.m clear all; close all; clc; Im=imread('Peppers.bmp'); % peppers.bmp adlı dosyayı oku imshow(imresize(im,1.5,'bilinear')); % İmgeyi büyüterek göster figure; imshow(imresize(im,0.5,'bilinear')); % İmgeyi küçülterek göster 44