-
Bu bölümde sayısal görüntülerin bilgisayarda nasıl çalıştığını anlatmak istiyorum.
-
İşte, burada bir örnek var: Birkaç sarı çiçeğin görüntüsü. Baktığımız şey
-
organik, yuvarlak hatlı, bütünsel bir görüntü. Bilgisayarda ise görüntü
-
çok sayıda küçük sayıya dönüşecek. Peki bu nasıl oluyor?
-
Şimdi, sol üstteki şu çiçeğe biraz yaklaşalım. Ortasında minik bir şey olan
-
şu küçük yeşil alanı görüyorsunuz. Tam o karenin üzerine on kat yaklaşırsam,
-
işte böyle görünür. Demek ki, farkettiğiniz gibi,
-
görüntü şu minik kare şeylerden oluşuyor. Bunlara piksel deniyor. Her bir piksel
-
kare şeklindedir. Son derece küçüktürler. Bunun için kesin bir sayı veremeyiz ama
-
santimetreye 40 kadarı sığıyordur. Her piksel sadece tek bir renk gösterir. Yani, tek bir renkten oluşan
-
bir kare olarak orada durur. İlginç olan şu ki; burada baktığınız zaman
-
son derece yapay ve keskin kenarlı bir görüntüsü var çünkü piksel
-
o kadar küçük ki şuraya, orijinal görüntüye baktığınızda tamamen
-
doğru görünüyor. Göz öteki türlü algılamıyor. Piksellerin yeterince küçük olmasından dolayı, o küçük keskin
-
kenarları görmüyorsunuz. Yakınlaştığınızda ve parçaları algıladığınızdaysa böyle görüyorsunuzi
-
Bir görüntüde kaç piksel olduğunu merak ediyorsanız, bu sadece basit bir çarpım
-
işlemi gerektirir. 800 piksel genişliğinde ve 600 piksel yüksekliğinde bir görüntüm varsa
-
gerisi sadece çarpma yapmaya bakıyor. Dolayısıyla ikisini çarpıyorum ve
-
sonuç 480.000 piksel. Megapiksel terimini duymuşsunuzdur. Genellikle bilgisayar, kamera ve
-
benzeri araçlara ilişkin kullanılır. Bir megapiksel bir milyon pikseldir. Bendeki 800x600 görüntüde
-
480.000 piksel var. Bu da demektir ki yaklaşık olarak yarım megapiksel ediyor.
-
Aslında güncel standartlar ışığında çok büyük bir görüntü sayılmaz. Günümüzde
-
sayısal bir kamera, hattâ telefonların üzerindekiler bile, beş megapiksel,
-
on megapiksel, belki yirmi megapiksel büyüklüğünde görüntü üretiyor. Bu da hayli büyük
-
görüntü demektir. Evet, şimdi bu şeyin nasıl çalıştığına bakalım. Şöyle bir şey yaptım.
-
Daha canlı olsun diye şu diyagramı hazırladım. Elimde bir görüntü olduğunda bunu karelerden oluşan bir
-
ızgara sistemi olarak düşünebilirim. Her bir kare bir pikseli temsil ediyor ve sadece
-
tek bir renkten oluşuyor. Şimdi her pikselin diğerlerine göre yerini belirlemek bakımından bir adresleme
-
planı yapmamız lazım. Bunu yapmak için de şurada, üstte bir dizi x sayısından yararlanıyoruz.
-
Öyle ki, sıfır en solda ve artarak devam ediyor. Sağa doğru gidiyor.
-
Ve y yönü de kendine özgü bir biçimde uzanıyor. Öyle ki,
-
sıfır en yukarıda, en üst surada ve y sayıları da aşağı doğru akıp gidiyor. Gösterdiğim biçim, sadece
-
bilgisayarlarda unsurların numaralanmasının geleneksel yoludur. Öyleyse bazı basit
-
örnekler yapabilirim. Diyelim ki en üst en sol piksel (0, 0) konumunda veya
-
x=0 y=0 diyebilirim. Onun hemen sağındaki piksele bakacak olursak; şuradaki piksel
-
x=1, y=0 konumunda. Geleneksel olarak koordinatlardan söz ettiğimizde
-
önce x sayısını, ardından y sayısını söyleriz. Demek ki şöyle diyebilirim: (1, 0).
-
Şimdi de şuradaki piksele bakalım. Kolayca okuduğunuz gibi, o da
-
x=2, y=2 konumunda. Ya da sadece (4, 2) diyebilirim. Aslına bakarsanız, belirli pikselleri
-
tanımlamak için bu x-y sayılarıyla uzun uzadıya uğraşmayacağız.
-
Bu yerleştirme düzeninin varlığını bilmeniz yeterlidir. Demek oluyor ki,
-
elimizde on milyon piksel de bulunsa, her bir pikselin onu diğer piksellere göre adresleyen bir
-
x-y sayısı vardır. Öyleyse şu soruya gelelim: Bu pikseller elimde olmasına elimde ama
-
herhangi belirli bir pikselin ne renk olacağını nasıl kodlayacağım? Bunu anlatmak için önce kısa bir
-
tarihsel yan yola sapacağım: Bu deneyi 1660larda Newton yapmıştı.
-
Deneyde, benim de burada benzerini çizdiğim bir prizma kullanmıştı. Yani, üçgen yüzeyleri olan
-
bir cam parçası. Şuradan, sol taraftan beyaz güneş ışığı geliyor ve
-
prizma ışığı renk tayfına ayırıyor. Burada benim bir parça beyaz
-
kağıt üzerine yansıttığım gibi. Bunun gösterdiği şu ki; beyaz ışık
-
bölünemez saf bir varlık değil. Aksine, yapısını oluşturan bu saf renklere ayrıştırılabiliyor.
-
Gökkuşağında gördüğünüzle bu, tamamen aynı şeylerdir.
-
Ayrışan renkler aslında süreklilik gösteren bir tayf halindedir ama Newton
-
belirli bazı renkleri tanımladı. Yani onlara isimler verdi. Bir uçta, şurada, kırmızıdan başlayıp
-
ardından turuncu ve sarı ve yeşil diye giden meşhur dizi işte budur. Nihayetinde,
-
şurada, uzak kenarda mavi, çivit mavisi ve mor var.
-
Bilgisayara gelirsek: Bu saf renkleri bir tür palet olarak düşünüyorum.
-
Aslında kullanacağımız yöntem paletten kırmızı, yeşil ve maviyi almaya dayanıyor.
-
Bu renkleri bir anlamda dilediğimiz diğer renkleri oluştururken yapıtaşları
-
gibi kullanıyoruz. Sonuç olarak, şöyle düşünebilirsiniz: Şuradan, sol taraftan gelen beyaz ışığımız var ve
-
şurada da yapıtaşlarını elde ettik. Yani, süreci tersinden düşünmeniz de
-
mümkündür. Şöyle ki, yapıtaşı renkleri alır ve bunları şu yönde geriye doğru
-
birleştirirsem, beyaz ışık elde ederim. Fiziktekiyle tamamen aynı değil ama
-
yine de konu hakkında fikir veriyor. Bilgisayarda da yapıtaşlarını alıyor ve
-
onları birleştiriyoruz. Öte yandan burada çivit mavisiyle ilgili biraz komik bir durum var.
-
Newton bunları adlandırdığında, mavi ve mor arasında çivit mavisi rengimiz oldu ve aslında benziyor da.
-
Acaba öyle mi? Bunun için ayrı bir isme çok ihtiyacımız varmışçasına , özel olarak
-
adlandıracağımıza, sadece "mavi" deyip geçemez miydik? Komik olan, bunun 1600lerde yaşamın nasıl olduğuyla biraz bağlantısı var.
-
Newton'un bazı mistik inançları vardı ve biz bunları bilimsel olmyan yaklaşımlar
-
olarak değerlendiriyoruz. O dönemde, bilinen yedi gezegen vardı ve
-
Newton renklerin sayısı gezegenlerin sayısıyla aynı olmalı gibi bir fikre saplanmıştı.
-
Kanımca Newton çivit mavisini orada araya sokuşturuverdi ki
-
sayılar tutsun. Evet. Şimdi yapacağım şey, belirli bir rengi kodlamak için RGB renk uzayı adı verilen
-
renk uzayını kullanmak. RGB kısaltması kırmızı, yeşil, mavinin baş harflerinden oluşuyor.
-
Ve bu yöntemle veya bunu yapmak için bir kodlama yoluna ihtiyacım var.
-
Oradaki ızgara sisteminde her unsurun bir rengi var. RGB renk uzayından yararlanarak ve saf kırmızı,
-
yeşil ve mavi ışıkları kullanıp, bunları farklı oranlarda karıştırarak
-
herhangi bir rengi yaratmak olası. Bunun üzerine konuşmaya devam etmektense
-
bir örneğe bakmak daha yararlı olacak. Şimdi şuradaki RGB Explorer gösterim
-
sayfasına gidiyorum. Bu bana işleyişi göstererek anlatma olanağı verecek. Şöyle:
-
Sol tarafta üç tane kayan kontrol düğmesi var. Şuradaki
-
kırmızı ışığı kontrol ediyor. Bunlara sayısal karşılıklar vereceğiz. Kırmızı en koyuya geldiğinde,
-
buna sıfır diyeceğiz. Ve eğer sonuna kadar açacak olursam; buna da,
-
255 diyeceğiz. Aslında şuraya, aşağıya bakarsanız; kayan düğmelerin sayısal karşılıklarını
-
oradan okuyabilirsiniz. Üç tane kayan güğmem var: Kırmızı için bir düğme,
-
yeşil ışık yapmak için bir düğme ve mavi ışık yapmak için de bir mavi düğmesi.
-
RGB renk uzayı için stratejimiz budur. Elinizde bu üç düğme var.
-
Üçünü kullanarak kırmızı, yeşil ve mavi ışıkların parlaklıklarını değiştirebiliyorum.
-
Sonuçta öyle oluyor ki; kırmızı, yeşil ve maviyi uygun oranlarda karıştırarak dilediğiniz
-
her rengi elde ediyorsunuz. Bazı örnekler göstereceğim. Açıktır ki, kırmızı yapmak istersem
-
kırmızı düğmesini sonuna kadar açacağım. Benzer şekilde, yeşil yapmak istersem, yeşil güğmesini
-
sonuna kadar açacağım. Düğmeyi sonuna kadar getirirseniz, bir anlamda rengin en açık
-
tonunu elde ediyorsunuz. Daha koyu bir yeşil isterseniz, yeşil düğmesini alıp
-
aşağı doğru çekiyorsunuz. Böylece daha koyu bir yeşil oluyor. Aslında
-
şu en solda dayandığı yer, sıfır sayıları, siyahı ifade eder. Bir anlamda, yaptığım şey
-
yeşili almak ve onu siyaha doğru yaklaştırmak oluyor.
-
Ve bu da koyu yeşil. Öte yandan, beyaz yapmak istersem, bu defa
-
kırmızıyı alıp sonuna kadar açıyorum. Yeşili ve maviyi de
-
açıyorum, sonuna kadar; ve beyaz elde etmiş oluyorum. Bu durumda bütün renkler 255 değerinde ve
-
bu da beyaz. ve ardından, hepsini en aşağı çekersem, hepsini sıfır yaparsam
-
bu da siyah. Şimdi de bazı karışımlar yapayım. Bana kalırsa en ilginci
-
kırmızıyla yeşili birlikte kullanmak. Kırmızıyı açarsam ve ardından
-
yeşili sonuna kadar açarsam, sarı elde ederim. Birazcık daha
-
koyu sarı istersem, kırmızı ve teşili birbirine biraz yakın tutarım ama
-
ikisini birden azar azar siyaha doğru götürürüm ve böylece
-
daha koyu bir sarı elde ederim. Veya şu yöne gider ve daha da koyu bir sarı elde ederiz.
-
Turuncu elde etmek istersem ne yapmam gerekir? Turuncuyu bir karışım olarak düşünelim.
-
Sarıyı biraz andırıyor ama kırmızı ve yeşilin benzer miktarda olması yerine
-
kırmızı biraz daha baskın. Kırmızı ve yeşil renklerim şurada. Kırmızıyı biraz daha
-
açıyorum ve yeşili biraz daha kısıyorum. Böylece hoş bir turuncu
-
elde ediyoruz. Yol işaretlerinin turuncusu gibi; hoş bir turuncu oldu. Demek oluyor ki
-
bunları azar azar o yana bu yana çekiştirerek sonunda çok sayıda hoş
-
renk elde edebilirsiniz. Şimdi bakalım; yapmak istediğim birşey daha var.
-
Evet, bir çeşit açık yeşil yapacağım. Şimdi size pastel sarı yapmanın
-
yolunu göstereyim. Şurada elimde kırmızı var ve yeşil en sona kadar
-
açılmış. Böylece bu çok parlak sarıyı elde ediyorum. Pastel renkleri açık ve soluk, adeta dumanlı
-
olarak düşünürüz. Bunu yapmanın yolu da şudur:
-
İçine biraz mavi ekleyeceğim. Dolayısıyla şuradan maviyi 180, 185 civarına açıyorum.
-
Ve gördüğünüz gibi, elimizde hâlâ sarı renk var ama bu kez daha pastel bir ton; biraz dumanlı.
-
Bunu şöyle de düşünebilirsiniz: Üç düğmenin üçünü de sonuna dek açsaydım,
-
beyaz elde ederdim. Demek ki maviyi biraz açarak, bir anlamda beyaza biraz yaklaştım
-
ama tam beyaz yerine kırmızı ve yeşili mavinin
-
birazıyla kullanarak bu sarıyı elde ediyorum. Bu sınıf için
-
bu kadarı yeterlidir. Her ayrı renk için üç sayının da ne olduğunu
-
bilmenizi beklemiyorum sizden. Sadece renkleri elde etmenin temel
-
yöntemini kavramanız yeterlidir. Bu temel yöntem de kırmızı, yeşil ve maviyi değişen
-
ornlarda karıştırmaktan ibarettir. Göstermek istediğim birşey daha var; şimdi ona bakalım.
-
Kırmızı, yeşil ve mavi var elimizde ve diğer bileşimleri
-
elde edeceğiz. Mavi ve yeşili, gördüğünüz gibi bir tür turkuaz veriyor. Bir tür yeşilimsi mavi
-
olduğu için, beklenen bir durum. Son karışımımız da kırmızı ve mavi olacak.
-
Kırmızı ve mavi kullanarak bir tür mor elde edersiniz. Bu da kırmızı ve mavi karışımı
-
için beklenmedik değildir. Evet, şimdi kendi görüntülerimize dönelim.
-
Kırmızı, yeşil ve maviışığı alıp bunları birbiriyle karıştırma yöntemini öğrendik.
-
Demek ki, çok sayıda piksel içeren bir görüntü bakımından da bu böyle ve
-
her bir pikselin belirli bir rengi var. Bu renk ise kırmızı, yeşil, mavi
-
seviyelerince tanımlanıyor. Veya, sayısal olarak bunun anlamı,
-
temelde her pikselin sadece üç sayısı olduğudur. Yani, şöyle diyebilirm: Kırmızı 250 ve yeşil 10 ve
-
mavi de 240'dır. Ama aslında, büyük olasılıkla şöyle diyeceğiz:
-
(250, 10, 40) pikseli. her zaman bu sırayı kullanacağız. Önce kırmızının değeri,
-
ardından yeşilin değeri ve ardından mavinin değeri. Demek ki şuradaki diyagramımı biraz daha iyileştirebilirim.
-
Izgara planlı piksellerim burada. Görüntüyü bunlar oluşturuyor. Önceden olduğu gibi,
-
şimdi de x ve y'lerimiz var. Dikkat ederseniz şimdi bu pisellerin her biri
-
kendi üçlü sayılarını yansıtıyor. Demek ki, belki şuradaki
-
(6, 250, 7) oluyor. 6 oldukça düşük; yeşil 250, çok yüksek ve mavi 7,
-
bu da düşük. Demek ki, bu esas olarak yeşil, değil mi? Yeşilin değeri hayli yüksek. Ve şu piksel de
-
(241, 252, 23) olabilir. Kırmızı ve yeşil epeyce yüksek, mavi düşük. Ve zaten bu da aslında
-
sarının bir tonu. Şunu söylemeliyim ki, gerçek dünyada sayısal görüntüleri
-
ele aldığımızda işler biraz farklıdır. Kayan düğmelerle oynarken, hatırlarsınız, renkleri
-
ya 250 ya 0 yapmaya eğilimliydim. Gerçek dünyada her zaman bunların arasında bir
-
sayı bulursunuz. 237 gibi veya 26 gibi. İçlerindeki renk her neyse
-
o belirli tonu yapmak için karıştırılmış birşeyler vardır. Bir görüntüyü bir anlamda tanımlamak için
-
şimdilik söyleyeceklerimiz bunlar. Demek ki, elimizde piksellerden oluşan bu büyük
-
ızgara planı var. Her piksel, her tek piksel sadece bir renk gösteriyor. Ve bu renk
-
sadece üç sayı tarafından belirleniyor. Şimdi biraz geri gidip bakalım. Biliyorsunuz başlangıçta
-
şu tam, büyük görüntüyle başlamıştık. Ardından daha küçük parçasına geçmiştim çünkü bunun ızgara planı
-
çok fazla miktarda sayı içerecekti. Aslında bu yaptığım bilgisayar biliminde
-
çok sık kullanılır. Bütün bir görüntüyle veya bütün bir sesle veya
-
bütün bir ansiklopediyle vb. başlarsınız. İnsanlar olarak bizler bunu
-
organik bir bütün olarak kavrarız. Bilgisayarda ise kaçınılmaz olarak tüm bu verinin
-
çok sayıda küçük sayıya indirilmesini sağlayacak yöntemlere gereksinim vardır. Bütünün
-
bilgisayarda temsil edilmesinin yolu budur. Veri üzerinde yapılan bir işlemi
-
düşünelim. Diyelim ki bir görüntüyü alıp onu biraz daha açık hale getirmek istiyorum.
-
Bilgisayarda, bunu sayılar üzerinde bazı işlemlere tercüme etmemiz gerekir.
-
Bir görüntüyü az daha açık hale getirmek istersem ne yaparım?
-
İyi ki elimizde tüm bu kırmızı, yeşil, mavi sayıları var. Belki de yapmam gereken sadece
-
bunların her birine on eklemektir. RGB Explorer'ı hatırlayacak olursanız
-
her bir düğmeyi birazcık daha sağa kaydıracağım yani. Böylece görüntü biraz daha
-
açık hale gelecek. Her neyse; bunu bir iki bölüm sonra göreceğiz. Ama genel olarak konuşursak,
-
bilgisayarlarda [duyulmuyor] çok sayıda küçük sayı bulunur.
-
Bilgisayarın dünyası böyle bir alandır. Bunun üzerinde şimdiden sonra da
-
çokça duracağız.