Image Processing Color Spaces | RGB, HSV and CMYK 🌈

Welcome to the world of image processing 🎉I’m going to talk about color spaces in image processing, which is one of the areas of Computer Vision that are very important today. You know that image processing basically performs operations on the image. The use of color in image processing is due to two factors. First, color is an identifier that facilitates object recognition and object extraction from the image. Secondly, people can distinguish thousands of shades and intensity compared to gray shades only. For image analysis, we also need to specify the color channel to be used when performing various operations on the image. Before learning color channels, let’s learn a little about Color Image Processing. Scientifically, the foundations of the concept of color were discovered in 1665 by the British physicist Isaac Newton. In this experiment carried out in a dark room, it was noticed that the light coming through the door hole was shattered on the prism to form a color spectrum. Below is a summary drawing of this experiment.

We said the color spectrum but didn’ t mention what it means. The color spectrum is the separation of white light into its colors by passing through a special prism. In fact, we all know that very closely. To give a little more detail, rainbows that enthrall us with their colorful state after the rain are the most beautiful examples of color formation with the refraction of light 🎆.

Color spectrum formed when white light is passed through the prism 🌈

💎 The main reason for mentioning these is to present the spectrum range that the human eye can perceive in the most descriptive way. The spectrum range that the human eye can detect is 400 to 700 nm. This interval is defined as the scientifically visible region. This is exactly where the separation of white light passed through the prism you see in the photograph comes into play into the visible color spectrum. Here we’re going to work with this visible region. Let’s we talk about the most commonly used color channels !

As you know from everyday life and image processing, the main colors are Red, Green and Blue. The color channel consisting of these colors is called RGB in scientific terms. These primary colors come together to form the intermediate colors we use. Different image channels have been created from the main and intermediate colors.

🔎 As you can see, the main colors Red, Green and Blue are brought together to form Yellow, Cyan and Magenta colors. We’ll see these in the future when we examine the color spaces.

Formation of basic and intermediate colors 🌈

We basically talked about the color concept and the most used RGB structure up to this section. Now that we’ve got the basic structure we need to learn, we can access the color spaces. In image processing, a grayscale image has only one channel. Each pixel value that the image has is valued from 0 to 255. the image contains color according to the pixel values it has. In gray images, instead of colors such as red, green and blue in the RGB channel, the intensity level, ie brightness is handled. Actually, brightness refers to the colorless state of intensity. In color images, the storage space increases because more than one channel is used. The purpose of the color spaces or models I will now describe is often to facilitate color identification. A color space is the process of defining a subspace in the system in which a coordinate system and each color are represented by a single point. The RGB channel is widely used in image processing for color monitors and color video cameras, the CMY and CMYK channels for color printing, and the HSI (HSV) channel is created for people to describe and interpret color. These channels are the leading channels in image processing, so I will talk to you about them today.


RGB Color Channel

RGB is the most widely used color space. In this color model, each color acts as its main spectral components in red, green and blue. In the infrastructure of this model is located a Cartesian coordinate system. The color subspace concerned is examined as this cube, which is frequently used in image processing.

📝When this cube is examined, the RGB primary color values are found in the three corners of the cube, cyan, yellow, and magenda in the other three corners. The values R, G and B are expressed as vectors in the coordinate system. As you can see, in the RGB color space, different colors are located on the cube and in dots. When representing an RGB image with 24 bits, we specify the total number of colors (28) 3 = 16777216, assuming 8 bits are 1 byte. The cube you see above is a solid object containing the number of colors 16777216. To use colors in this cube, there are color codes or values written in specific color models. To use colors in this cube, there are color codes or values written in specific color models. There are many related websites. Examples include w3schools. In OpenCV, which is a very common library in image processing, we will examine how to define an RGB color model and how to extract an RGB histogram of the image.

📃 In OpenCV, the RGB color space is defined as BGR. A Histogram is the name given to a graphic that shows the numbers of color values in an image. If the histogram equality of the values in an image is desired to be expressed on the graph, first The X and y coordinates are specified on the matrix. Then the hist module is shown with imshow( ) by specifying how many boxes there will be. When creating a histogram of an image, we convert the original BGR image to gray.

Create a histogram chart

The original used image was chosen as an image where the RGB color model predominated.

📝 Histogram equalization or equalization is a method to resolve color distribution disorder caused by the fact that color values in a picture are clustered in a specific location. In the graph generated below, the values are clustered in the range 50-100.

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

The image is a color image, so the RGB values will be processed and the colors will be separated and the histogram will be balanced for each of the red, green and blue colors.

Create a histogram chart with 32 and 8 boxes

Histogram chart with 32 boxes 📊

Histogram chart with 8 boxes 📊

Histogram Normalization

This generated histogram to convert into a probability distribution function, each value is divided by the sum of these values.

Creating a normalized histogram with the normed=True module

Normalized histogram boxes 📊

HSV | HSI Color Channel

Color models such as RGB, CMY, CMYK do not contain practical terms in terms of human interpretationFor example, no one talks about the color of a house by giving the percentage of the primary colors that make up that color. When we look at a colored object, we express that object with Hue, Saturation, and brightness. For this reason, the concepts of Hue, Saturation and brightness, which make it easy for us to define colors, have been put forward. The name of the HSI space comes from the initials hue, saturation and intensity, which are the English equivalent of the words hue, saturation and brightness. HSV color space defines color with the terms Hue, Saturation, and Value. Although a mixture of Colors is used in RGB, HSV uses color, saturation and brightness values. Saturation determines the vitality of the color, while brightness refers to the brightness of the color.  The HSI space separates the nephew component in a color image from the hue and saturation, which are color-bearing information.

The hue, saturation and brightness values used in HSV space are obtained from the RGB color Cube. The brightness value is zero while the color and saturation values for the Black color in the HSV space can take any between 0 and 255. In white, the brightness value is 255.

Conversion from RGB color space to HSV color space

Original : Image Converted to RGB and HSV Space

(a) – hue (b) – saturation (c) – intensity

CMY & CMYK COLOR CHANNEL

In the CMY model, the pigment primary colors, Cyan, winner and yellow, combined in equal amounts, should produce the Black color. In practice, the combination of these colors for printing produces a fuzzy-looking black tone. A fourth color, black, is added, which will reveal the CMYK color model to produce the correct black tone.

As mentioned earlier, this color model is used in image processing to produce hard copies. The equal amount of pigments of the CMY color space should produce the Black color. In order to produce the correct black tone in order to be dominant in printing, black tone was added to the CMY color space and CMYK color space was obtained. In publishing houses, “four-color printing” refers to CMYK, while “three-color printing” refers to the CMY color model.

REFERENCES

  1. C. Gonzalez, Rafael, E. Woods, Richard, Digital Image Processing, Palme Publishing, (Ankara, 2014)
  2. Retrieved from http://www.kisa-ozet.org/tayf-nedir-kisaca/.
  3. Dr. Lecturer. Member of Caner ÖZCAN, Karabuk University, BLM429 Introduction to Image Processing, Image Acquisition and Digitization.
  4. Retrieved from https://www.instructables.com/id/Exploring-Color-Space/
  5. Retrieved from https://www.fencix.net/isigin-sogurulmasi/
  6. Retrieved from https://www.eikonal.com.br/8930509-Prismas-especiais
  7. Retrieved from http://www.atasoyweb.net/Histogram-Esitleme
  8. Retrieved from https://www.istockphoto.com/tr/foto%C4%9Fraf/rainbow-lorikeet-gm115919863-2434334#/close
  9. Retrieved from https://people.eecs.berkeley.edu/~sequin/CS184/TOPICS/ColorSpaces/Color_0.html

Jupyter Interaktif Araçları

Merhabalar, bu yazımda günümüzde yapay zeka uygulamaları üzerine çalışanların çok
iyi bildiği ve yoğun olarak kullandığı Jupyter Notebook’un pek bilinmeyen yönlerinden
bahsedeceğim. Öncesinde Jupyter Notebook’u dilerseniz biraz tanıyalım (Not: Bu yazıyı
okuyorsanız muhtemelen bu kısa bilgilere hakimsinizdir). Jupyter Notebook, web
tarayıcısı üzerinden aldığınız notları ve kodlarınızı kaydederek çalıştırabileceğiniz bir istemci
uygulamasıdır. Python, R, Julia vb. birçok yazılım dillerini destekleyen Jupyter, efektif
kullanım kolaylığı ile Veri Bilimi, Makine Öğrenmesi ve Derin Öğrenme konularına gönül
verenler tarafından yaygın olarak kullanılmaktadır.
Günlük yaşamda veya iş ortamında kullandığımız araç ve gereçleri yakından
tanımamız ve kabiliyetlerinin farkında olmamız hayatımızı daha da kolaylaştırmasının sanı
sıra yapılan faaliyeti daha da eğlenceli kılabilir. Bu bağlamda bizlerin oldukça sık kullandığı
Jupyter Notebook’u yakından tanımamız ve sağladığı imkanlara hâkim olmamız
çalışmalarımızın daha verimli ve zevkli geçmesine imkan tanıyacaktır. Lafı fazla uzatmadan
Jupyter Notebook’a ait özelliklerden olan interaktif araçlarını incelemeye koyulalım. Jupyter,
interaktif özelliği ile;
Kodlarınızda tanımladığınız değişkenleri, ilgili hücreyi tekrar tekrar çalıştırmak
zorunda kalmadan kolayca değiştirebileceğiniz bir kullanım kolaylığına kavuşmuş,
Konu çalışırken karşılaştığınız parametrelerin modellere olan etkilerini interaktif
şekilde görselleştirmiş,
Jupyter Notebook’ta yer alan hücrelerin mükerrer çalışması sonucu oluşabilecek
muhtemel hataları önlemiş,
Ayrıca kod bütünlüğünü sağlayarak kodun akışını da korumuş oluyoruz.

Bilimkurguda Yapay Zeka: Aşk Algoritması

Aşkın matematiksel bir formülü var mı? Varsa herkes için geçerli mi? Yıllardır birlikte olan çiftler neden birbirine benzer? Yapay zeka aşık olabilir mi? Yapay zekaya aşık olunabilir mi? Bir algoritma aşkı anlayabilir mi?

Meet Benjamin: The First AI Screenplay Writer

The algorithm behind Benjamin is a deep learning language model ‘long short-term memory’ (LSTM) recurrent neural network (RNN). Goodwin describes it as “It’s a lot like a more sophisticated version of the auto-complete on your phone, … at each step, you predict the next word, letter, or space… .”

United all for the fight against Coronavirus with AI

There are some methods individuals are relying on artificial intelligence remedies, in particular, to discover, or battle against, the COVID-19. There is a wealth of information we can get from electronic health records and emergency call databases, as well as big data for human-to-human interactions. We simply need to be able to integrate this information on a national, hospital and individual level.

AI-Powered Drug Discovery for Covid-19

Companies are racing to find treatments for the novel coronavirus, which has infected more than 200,000 people, are turning to artificial intelligence to speed up their drug-discovery efforts. Developing a drug that makes it to clinical trials often takes more than a year. The hope is that AI, which can spot patterns and make predictions, could identify drug prospects to test on humans within months.

Veri “Bilimi” Gerçekten Bilim Mi?

Bulunduğumuz bilgi çağında “Veri Bilimi” ve “Veri Bilimciliği” kavramları ortaya çıktı. Büyük verilerle oynayan bu insanların maaşlarının da bu veriler kadar yüksek olduğu bilinmekte. Peki ya veri bilimi gerçekten bilim mi?

What’s the difference? Artificial Intelligence, Machine Learning and Deep Learning

Welcome to the world of artificial intelligence! By the end of this article you’ll fully understand top 3 concepts in technology: artificial intelligence, machine learning and deep learning. Even though most people use them interchangeably, they don’t have the same meanings. Let’s dig in deeper.