Görüntü İşleme Renk Uzayları | RGB, HSV ve CMYK🌈

Görüntü işleme dünyasına hoşgeldiniz 🎉 Günümüzde çok fazla önem arz eden Computer Vision alanlarından bir tanesi olan Görüntü İşleme’ deki renk uzaylarından bahsedeceğim. Biliyorsunuz ki görüntü işleme temel olarak görüntü üzerinde işlemler gerçekleştirir. Görüntü işlemede renk kullanımı iki etkenden kaynaklanmaktadır. İlk olarak renk, nesne tanımayı, nesnenin görüntüden çıkarımını kolaylaştıran bir tanımlayıcıdır. İkinci olarak ise insanlar yalnızca gri tona kıyasla binlerce renk tonunu ve yeğinliğini ayırt edebilir. Görüntü analizleri için de görüntü üzerinde çeşitli işlemler gerçekleştirirken kullanılacak renk kanalını da belirtmemiz gerekir. Renk kanallarını öğrenmeden önce renkli görüntü işleme hakkında biraz bilgi edinelim. Renk kavramının temelleri bilimsel olarak 1665 yılında İngiliz fizikçi Isaac Newton tarafından renklerin ayrıştırılması ile bulunmuştur. Karanlık bir odada gerçekleştirilen bu deneyde, kapı deliğinden içeri gelen ışığın prizma üzerinde parçalanarak renk tayfı oluşturduğu fark edildi. Aşağıda bu deneyin özet çizimi yer almaktadır.

[gdlr_core_space height=”30px”]

[gdlr_core_space height=”30px”]

Renk tayfı dedik fakat ne olduğundan bahsetmedik. Renk tayfı, beyaz ışığın özel bir prizmadan geçirilerek renklerine ayrılmasıdır. Aslında bunu hepimiz çok yakından biliyoruz. Biraz daha ayrıntı vermek gerekirse yağmur sonrası rengarenk haliyle bizi adeta büyülen gökkuşakları ışığın kırılımı ile renk oluşumuna en güzel örnektir 🎆 .

[gdlr_core_space height=”30px”]

Prizmadan beyaz ışık geçirildiğinde oluşan renk spektrumu 🌈

[gdlr_core_space height=”30px”]

💎 Bunlardan bahsetmemin en büyük sebebi insan gözünün algılayabildiği spektrum aralığını en açıklayıcı şekilde size sunmaktır. İnsan gözünün algılayabildiği spektrum aralığı 400 ila 700 nm arasını kapsamaktadır. Bu aralık bilimsel açıdan görünür bölge olarak tanımlanır. Fotoğrafta gördüğünüz prizmadan geçirilen beyaz ışığın görülen renk spektrumlarına ayrılması tam olarak bu noktada devreye girmektedir. İşte biz bu görünür bölge ile ilgileneceğiz. Haydi birlikte en sık kullanılan renk kanallarından bahsedelim!

Gerek günlük hayattan gerekse görüntü işlemeden bildiğiniz üzere ana renkler Kırmızı, Yeşil ve Maviden oluşmaktadır. Bu renklerden oluşan renk kanalına bilimsel açıdan RGB denilmektedir. RGB bu ana renklerin İngilizce karşılığı olan Red, Green ve Blue renklerinden oluşmaktadır. Bu ana renkler bir araya gelerek kullandığımız ara renkleri oluşturur. Ana ve ara renklerden farklı görüntü kanalları oluşturulmuştur. 

🔎 Görüldüğü üzere ana renkler olan Kırmızı, Yeşil ve Mavi bir araya getirilerek Sarı, Cyan ve Magenta renklerini oluşturmuştur. Cyan, halk arasında Camgöbeği olarak da bilinir. Magenta ise daha çok Eflatun olmakla birlikte Galibarda olarak da adlandırılır. Bunları ileride renk uzaylarını incelerken göreceğiz.

[gdlr_core_space height=”30px”]

Temel ve ara renklerin oluşumu 🌈

[gdlr_core_space height=”30px”]

Temel olarak renk kavramından ve en çok kullanılan RGB yapısından bu bölüme kadar bahsetmiş olduk. Öğrenmemiz gereken temel yapıyı da kafamızda oturttuğumuza göre renk uzaylarına giriş yapabiliriz. Görüntü işlemede gri tonlamalı bir görüntü yalnızca tek kanala sahiptir. Görüntünün sahip olduğu her bir piksel değeri 0 ila 255 arasında değer alır. Bu piksel değerlerine göre görüntü renk içermektedir. Gri görüntülerde RGB kanalındaki gibi kırmızı, yeşil, mavi gibi renklerden ziyade yeğinlik seviyesi yani parlaklık ele alınmaktadır. Daha doğrusu parlaklık, yeğinliğin renksiz halini ifade eder. Renkli görüntülerde ise birden fazla kanalla çalışıldığı için depolama alanı artmaktadır. Şimdi anlatacağım renk uzayları ya da modellerinin amacı genellikle renk tanımlamalarını kolaylaştırmaktır. Bir renk uzayı, bir koordinat sistemi ve her rengin tek nokta ile temsil edildiği sistemde bir alt uzayı tanımlama işlemidir. Görüntü işleme açısından çok yaygın olarak kullanılan RGB kanalı renkli monitörler ve renkli video kameralar için, CMY ve CMYK kanalları renkli baskı için ve HSI (HSV) kanalı ise insanların rengi tarif edebilmesi ve yorumlaması için oluşturulmuştur. Bu kanallar görüntü işlemede önde gelen kanallar olduğu için bugün sizlere bunlardan bahsedeceğim.


RGB Renk Kanalı

RGB en yaygın kullanılan renk alanıdır. Bu renk modelinde her renk onun kırmızı, yeşil ve mavi ana spektral bileşenleri olarak görür. Bu modelin altyapısında Kartezyen Koordinat Sistemi barınmaktadır. İlgilenilen renk alt uzayı, görüntü işlemede sıkça kullanılan bu küp olarak incelenir.

[gdlr_core_space height=”30px”]

[gdlr_core_space height=”30px”]

📝 Bu küp incelendiğinde RGB ana renk değerleri küpün üç köşesinde, ara renkler olan camgöbeği, sarı ve galibardanın diğer üç köşesinde bulunduğu görülmektedir. R, G ve B değerleri koordinat sisteminde vektör olarak ifade edilmektedir. Gördüğünüz gibi RGB renk uzayında farklı renkler küp üzerinde ve içerisinde noktalar halinde bulunmaktadır. 24 bite sahip RGB bir görüntüyü temsil ederken 8 bitin 1 bayt olduğu varsayılarak toplam renk sayısını (28)3 = 16777216 ile belirtiriz. Yukarıda gördüğünüz küp 16777216 renk sayısını içerisinde barındıran katı bir cisimdir. Bu küp içerisindeki renkleri kullanabilmek için belirli renk modellerinde yazılan renk kodları veya değerleri bulunmaktadır. Bununla ilgili birçok web sitesi bulunmaktadır. Bunlara örnek olarak w3schools verilebilir. Bu bilgiyi de öğrendiğimize göre Görüntü İşleme’ de çok sık kullanılan bir kütüphane olan OpenCV’ de RGB renk modeli tanımlanması ve görüntünün RGB histogramı nasıl çıkarılır bunu inceleyeceğiz. 

📃 OpenCV’ de RGB renk uzayı BGR olarak tanımlanmaktadır. Histogram bir resimdeki renk değerlerinin sayılarını gösteren grafiğe verilen addır. Bir görüntüdeki değerlerin histogram eşitliği grafiğe dökülmek istenirse öncelikle x ve y koordinatları matris üzerinde belirtilir.  Daha sonra hist modülü üzerinde kaç kutucuk olacak ise belirtilerek imshow( ) ile gösterilir. Bir görüntünün histogramı çıkarılırken orijinal BGR görüntüyü gri seviyesine dönüştürürüz.

[gdlr_core_space height=”30px”]

Create a histogram chart

Orijinal kullanılan görüntü RGB renk modelinin baskın olduğu bir görüntü olarak seçilmiştir. 

[gdlr_core_space height=”30px”]

[gdlr_core_space height=”30px”]

📝 Histogram dengeleme veya eşitleme, bir resimdeki renk değerlerinin belli bir yerde kümelenmiş olmasından kaynaklanan renk dağılımı bozukluğunu gidermek için kullanılan bir yöntemdir. Aşağıdaki oluşturulan grafikte değerler 50-100 aralığında kümelenmiştir. 

(2 8 ) output of histogram chart with 256 boxes 📊

[gdlr_core_space height=”30px”]

Görüntü renkli bir görüntü olduğu için RGB değerleri ile işlem yapılacak ve renkleri ayrıştırıp kırmızı, mavi, yeşil renklerinin her biri için ayrı ayrı histogram dengeleme yapılacaktır.

[gdlr_core_space height=”30px”]

Create a histogram chart with 32 and 8 boxes

[gdlr_core_space height=”15px”]

[gdlr_core_space height=”30px”]

Histogram Normalleştirme

Oluşturulan bu histogramı bir olasılık dağılım fonksiyonuna çevirmek için yapılması gereken her bir değer bu değerlerin toplamına bölünmesidir. Bu şekilde PDF ( probability density function) denilen olasılık dağılım fonksiyonu 0-1 aralığına normalleştirilir ve olasılık değerleri tutulabilir.

normed=True modülü ile normalleştirilmiş histogram oluşturma

[gdlr_core_space height=”10px”]

Normalize edilen histogram kutucukları 📊

[gdlr_core_space height=”30px”]

HSV | HSI Renk Kanalı

RGB, CMY, CMYK gibi renk modelleri insan yorumu açısından pratik terimler içermemektedir. Örneğin hiç kimse bir evin renginden o rengi oluşturan ana renklerin yüzdeliğini vererek bahsetmez. Renkli bir nesneye baktığımızda, o nesneyi renk tonu, doygunluk ve parlaklık ile ifade ederiz. Bu yüzden renkleri tanımlamakta bize kolaylık sağlayan renk tonu, doygunluk ve parlaklık kavramları öne atılmıştır. HSI uzayının ismi, renk tonu, doygunluk ve parlaklık kelimelerinin İngilizce karşılığı olan hue, saturation ve intensity kelimelerinin baş harflerinden gelmektedir. HSV renk uzayı Hue, Saturation ve Value terimleri ile rengi tanımlar. RGB de renklerin karışımı kullanılmasına karşın HSV de renk, doygunluk ve parlaklık değerleri kullanılır. Doygunluk rengin canlılığını belirlerken parlaklık rengin aydınlığını ifade eder.  HSI uzayı, bir renkli görüntüdeki yeğinlik bileşenini renk taşıyan bilgiler olan renk tonu ve doygunluktan ayrıştırır.

[gdlr_core_space height=”30px”]

HSV uzayında kullanılan renk tonu, doygunluk ve parlaklık değerleri RGB renk küpünden elde edilmektedir. HSV uzayında siyah renk için renk ve doygunluk değerleri 0 ile 255 arasında herhangi bir alabilir iken parlaklık değeri sıfırdır. Beyaz renkte ise parlaklık değeri 255′ dir. 

[gdlr_core_space height=”30px”]

RGB Renk Uzayından HSV Renk Uzayına Dönüşüm

Orijinal görüntü: RGB ve HSV uzayına dönüştürülmüş görüntü

(a) – Renk tonu (b) – Doygunluk (c) – Yeğinlik

[gdlr_core_space height=”30px”]

CMY & CMYK RENK KANALI

CMY modelinde pigment ana renkleri olan camgöbeği (cyan), galibarda (magenta) ve sarı (yellow) renklerinin eşit miktarı siyah (black) rengi üretmelidir. Uygulamada baskı amacıyla bu renklerin bileşimi bulanık görünümlü siyah bir tonu üretir. Doğru siyah tonunu üretmek için CMYK renk modelini ortaya çıkaracak bir dördüncü renk, siyah eklenir.

[gdlr_core_space height=”30px”]

[gdlr_core_space height=”30px”]

            Daha önce belirtildiği gibi bu renk modeli görüntü işlemede basılı kopya üretmede kullanılmaktadır. CMY renk uzayının pigmentlerinin eşit miktarı siyah rengi üretmelidir. Baskıda hakimlik olabilmesi adına doğru siyah tonunun üretilebilmesi için CMY renk uzayına siyah tonu eklenmiş ve CMYK renk uzayı elde edilmiştir. Yayınevlerinde “dört renkli baskı” CMYK ifade ederken “üç renkli baskı” ise CMY renk modelini belirtmektedir.

[gdlr_core_space height=”30px”]

[gdlr_core_space height=”50px”]

Diğer yazılarıma buradan ulaşabilirsiniz.

REFERANSLAR

  1. C. Gonzalez, Rafael, E. Woods, Richard, Sayısal Görüntü İşleme, Palme Yayıncılık, (Ankara, 2014)
  2. https://www.kisa-ozet.org/tayf-nedir-kisaca/ adresinden alınmıştır.
  3. Dr. Öğr. Üyesi Caner ÖZCAN, Karabük Üniversitesi, BLM429 Görüntü İşlemeye Giriş, Görüntünün Alınması ve Sayısallaştırılması.
  4. https://www.instructables.com/id/Exploring-Color-Space/ adresinden alınmıştır.
  5. https://www.fencix.net/isigin-sogurulmasi/ adresinden alınmıştır.
  6. https://www.eikonal.com.br/8930509-Prismas-especiais adresinden alınmıştır.
  7. https://www.atasoyweb.net/Histogram-Esitleme adresinden alınmıştır.
  8. https://www.istockphoto.com/tr/foto%C4%9Fraf/rainbow-lorikeet-gm115919863-2434334#/close adresinden alınmıştır.
  9. https://people.eecs.berkeley.edu/~sequin/CS184/TOPICS/ColorSpaces/Color_0.html adresinden alınmıştır.

Leave a Reply

Your email address will not be published. Required fields are marked *