17 Haziran 2009 Çarşamba

Dijital Resim Serisi -2 -Resim Temsili


Resim türleri:

Vektörel Resimler: Resimleri dijital ortamda diğer bir temsil türü ise vektörel olarak temsildir. Bu resim türünde bir resmin tüm elemanları geometrik şekillerden ibarettir. Kare, dikdörtgen, çember daire, üçgen vb… Vektörel resimlerdeki geometrik şekiller alt tarafında gizli bulunan bir koordinat eksenine yerleştirilmiş gibidir. Vektörel resimlerin en ilginç tarafı ise büyütüldüklerinde kalitelerinden bir şey kaybetmez ve geometrik şekil bir daha bir daha yeniden çizilir. Bundan dolayı çoğu font ve simge kütüphaneleri vektörel resimlerden oluşur.


Aşağıda vektörel bir resim bulunmakta. Üzülen bir surat yerine gülen surat daha iyi gidecektir :)

Burada görülen resim daireler, çizgiler gibi geometrik şekillerden oluşmaktadır.

draw circle
center 0.5, 0.5
radius 0.4
fill-color yellow
stroke-color black
stroke-width 0.05

draw circle
center 0.35, 0.4
radius 0.05
fill-color black

draw circle
center 0.65, 0.4
radius 0.05
fill-color black

draw line
start 0.3, 0.6
end 0.7, 0.6
stroke-color black
stroke-width 0.1

Yukarıda verilmiş olan gülen yüzün matematiksel ifadesi yukarıdaki gibidir. Tüm şekiller tanımlanıyor ve çizimleri için gereken nitelikler veriliyor.

draw circle // Daire çizileek
center 0.5, 0.5 // Koordinat ekseninde merkezi
radius 0.4 // yarıçapı
fill-color yellow // dairenin rengi
stroke-color black // çizgi rengi
stroke-width 0.05 // çizgi kalınlığı

Yukarıda verilenler matematiksel formüllere dönüştürüldükten sonra noktalama (plotting) yöntemi ile ekrana yazılır. Peki bu resimler nasıl bilgisayarda temsil edilecek? Aslında tüm resimler temelinde bilgisayarda BitMap olarak saklanırlar. Bu resimlerin Bitmap türüne çevrimine ise “rasterization” denir.



Yukarıda görülen Bitmap temsilindeki bir resim hafızada sayılar dizisi olarak tutulur. Bu dizideki her bir eleman kanal sayısına göre “pikselleri” ifade eder. Her yatay çizgiye de “tarama çizgisi” denir. Yukarıdaki resimde 1.0 pikselleri en parlak rengi 0.0 olanlar ise en koyu renkleri temsil etmekte.

Raster dimensions: Bir Bitmap resminde yükseklik ve en nicelkikleridir. width x height olarak gösterilir.

Resulation(Çözünürlük): Çözünürlük aslında bir örneklem yoğunluğudur. Bir resimdeki çözünürlük oranı, resimde bulunan piksel boyutları ve resmin fiziksel boyutlarına oranı ile ilgilidir.

Sampling(Örneklem):
Resimdeki piksellerin insan gözüne hitap edecek olan renk, parlaklık değerleridir.

MegaPixels:
Bir resimdeki toplam piksel sayısıdır. Resmin en ve boy büyüklüklerinin çarpımıdır. Örneğin 2048 x 1536 çözünürlüklü 4:3 ekran oranına sahip bir ekran 3,145,728 tane piksel içerir. İşte burada 3 megapiksel bulunmaktadır. (100000 piksel = 1 MP)



Ölçeklendirme:
Elimizdeki bir resmi farlı bir ölçeğe ölçeklendirdiğimizde aslında örneklem algoritmaları resimdeki renk akışını bozmadan resmi ölçeklendirir. Böylelikle yeni bir örneklem ızgarası “sampling grid” oluşturulur.

Decimation(İndirgeme): Resmin boyutlarının düşürülmesidir. Belirlenmiş piksellerin karelerinin etraflarındaki piksellerin ortalama değeri, o seçilmiş kareye karşılık gelmesi üzerine kurguludur.

Interpolation(İç değerleme): Resim boyutlarının (Raster Dimensions) arttırılması işlemidir. Alt düzeyde yapılmak istenen pikseller arasında yeni pikseller yerleştirilmesidir. Farklı algoritmalar ile bu değerlendirmeler yapılır. Ve resim büyütülmüş(zoom) olur. Kameralarda bulunan Dijital Büyütme(Digital Zoom) da bu mantığı kullanır.

Sample Depth: Resimde bulunan piksellerin renk değerlerinin aralıkları ile ilgilidir.




Derinlik değeri arttıkça resim daha netleşir ve ayrıntılar daha belirginleşir. Bu örneklem tipleri bilgisayar hafızasında ikili(binary) biçimde saklandığından dolayı bitlerle ifade etmek gereklidir. Aşağıda verilecek olan tüm örneklem tipleri “Signed” ve “Unsigned” olarak ikiye ayrılır. Ama genelde işaretsiz (unsigned) kullanılır.

8 bit: Yaygın olarak kullanılan örneklem formatıdır. 8 tane 0 ve 1 lerden oluşan yapı bir piksele tekabül eder ve 2^8= 256 hesabına göre 256 değişik parlaklık düzeyine sahiptir.

12 bit: Gölge ve parlak nokta çok içeren resimlerde 8 bitlere göre daha çok tercih edilir. Özellikle SLR tipi kameralar her pikseli 12 bitte saklar. 2^12=4096

16 bit: Png ve Tiff resim formatları 16 bitlik örneklemi kullanırlar. Çoğu görüntü işleme programları resimleri görüntü kayıplarını azaltmak için 16 bitte işler.
Kayan Noktalı Örneklem: Film ve araştırma sektörlerinde daha çok kullanılır. 8 16 veya 32 bitte olduğu gibi tam sayılar değil de noktalı sayılarla ifade edilir. Araştırmalar için daha sağlıklı sonuçlar elde edilir. Bu örneklem tipi çoğunlukla HDR(High Dynamic Range) özelliği içerir. Örneğin 8 bit resimde bulunan kırmızıdan daha kırmızı renkler elde etmeye yarar.





RENKLER(Colors)

Dijital ortamdaki resimlerin çoğu RGB renk modeli kullanır. CRT ve LCD monitörler ve projektörler için renk oluşumdan çokça kullanılır. Her piksel Kırmızı(Red), Yeşil(Green), Mavi(Blue) olmak üzere 3 katmandan oluşur. Bundan dolayı da aynı bir RGB resim Gri tonlu haline göre 3 kat daha fazla yer kaplayacaktır.Aşağıda ise bir rgb resmin laptop ekranında nasıl gösterildiği verilmiştir. Resimin kağıda basılmış hali daha farklıdır.



Renklerin Okunması(Pallatted Image): Her piksel numarasına denk gelen renk, bir palette kırmızı, mavi, yeşil renk oranlarına göre indekslenir. Örneğin sol tarafta bulunan resim sol taraftaki renk paleti üzerinde boyanmıştır. Numaralara bir renk verilir, bilgisayarda resim dosyasında bulunan renklere göre resmi boyar.



********************************************************

Resim Sıkıştırma(Image Compression):
Bitmap türündeki resimler (her pikseli 8,12,16,32 bitlik örneklemlerle temsil edilen) çok yer kaplamasından dolayı resim sıkıştırma algoritmaları geliştirilmiştir. Örneğin 2.1 megapiksel 1600x1200 boyutlarında 8 bit RGB resmin hafızada kapladığı boyut: 1600x1200x3 bayt= 5760000 bayt = 5.7 megabayt yaparki bu gerçekten çok fazladır. Bu resmin sıkışmamış halidir.

Compression Rate(Sıkıştırma Oranı): (Sıkıştırılmış Resim Boyutu)/(Sıkıştırılmamış Resim Boyutu) olarak ifade edilir.örneğin yukarıdaki resim JPEG formatı ile sıkıştırılsa 512kb değerine düşecek ve (0.5mb)/(5.5mb) = 1:11 oranı ile sıkıştırılmış olacaktır. Ama bunun bir bedeli olmalı değil mi?

Kayıpsız Resim Sıkıştırma: Resimleri sıkıştırmadaki ana fikir; resimdeki piksellerin tekrar ve tahmin yolları ile farklı olarak ifade edip daha az yer kaplamasını sağlamaktır. En temel kayıpsız resim sıkıştırma işlemlerinden biri ise “Baştan Sona Çizgileme” (Run-Length Encoding) metodudur.



Yukarıdaki resimde her yatay bant siyah ve beyaz piksellerden oluşan bir katar olarak düşünülür.

Nasıl Çalışır?: Başlangıç olarak seçmiş olduğu piksel değerini hafızaya alır ve yatay olarak resmi tarar. Farklı bir piksel değerine ulaşınca, hafızasındaki piksel değeri için saymış olduğu piksel sayısını tutar. Örneğin yukarıdaki ev resminde ilk piksel olan beyaz renk 1 satır boyunca hep beyaz 2. Satırda ise 4 piksellik alan beyazdır. Eğer resmin 0 ve 1 ler ile ifade edildiğini düşünürsek, 2 satırdaki 20 beyaz piksel 20 bit=2,8 baytlık yer tutacaktı. Ama “Baştan Başa Çizgileme Yöntemi” ile sadece pikselin beyaz olduğunu göstermek için “1” değeri, yanına da kaç pikselin art arda beyaz olduğunu göstermek amacıyla 8 bitlik işaretsiz tamsayı(Unsigned Integer) kullanılabilir. Böylelikle 20 bit yerine sadece 9 bit kullanmış oluruz. Farklı bir renge ulaştığında ise sayaç ve piksel özelliği sıfırlanır ve yeniden sayım başlar. Aşağıda ise renklerin tekrarlanma frekanslarını içeren bir sayı tablosu bulunmakta.

70,
5, 25,
5, 27,
4, 26,
4, 25,
6, 24,
6, 23,
3, 2, 3, 22,
3, 2, 3, 21,
3, 5, 2, 20,
3, 5, 2, 19,
3, 7, 2, 18,
3, 7, 2, 17,
14, 16,
14, 15,
3, 11, 2, 14,
3, 11, 2, 13,
3, 13, 2, 12,
3, 13, 2, 11,
3, 15, 2, 10,
3, 15, 2, 8,
6, 12, 6, 6,
6, 12, 6, 64

Kayıplı Resim Sıkıştırma Yöntemleri:
Bu tip sıkıştırma yöntemleri insan gözünün sınırlarından yararlanır. Resmin hiçbir zaman orijinal hali korunamaz. Buradaki ana fikir insan gözü parlaklıktaki değişime renkteki değişime göre daha duyarlıdır. Bu açık kapıyı kullanarak birçok algoritma gelişilmiştir. Bunlardan biri ise JPEG sıkıştırma tekniğidir. Bu yöntem Kesikli Kosinüs Dönüşümü’ nü(Discrete Cosinus Transform-DCT) kullanarak resimlerin sıkıştırır. Az öncede görüldüğü gibi 5.7 MB lık bir Bitmap dosyasını 512 kB gibi komik bir rakama kadar düşülebilir. Daha çok fotoğraf,logo ve taranmış yazı dokümanları gibi sürekli ton içeren resimlerde ve çok fazla kontur-dışhat içeren resimler daha yüksek başarım elde eder. Benim bildiğim kadarıyla JPEG açık kaynak kodlu. Sıkıştırma mantığını merak eden bakabilir.

JPEG Formatındaki Kayıplar:
Aşağıda 9 defa açılıp daha sonra üzerine tekrar JPEG formatında kaydedilen bir resim görülmekte:



Fark edeceğiniz gibi resim gittikçe aşınmaktadır. Bundan dolayı JPEG formatlı dosyalar uzun araştırmalar için kullanılmamalı ve sadece boyut önemli olduğu yerlerde son ve uç dağıtım olarak kullanılmalıdır. Öyle ki bazı durumlarda JPEG tipindeki resimler teknik sebeplerden dolayı delil olarak kabul edilmemekte.

Diğer Resim Formatları:


************************************************

0 yorum:

Yorum Gönder