Renk Uzayı etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Renk Uzayı etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

20 Kasım 2019 Çarşamba

Renk Uzayı - HSV (HSB)

Giriş
HSV (Hue, Saturation, Value) anlamına gelir. Açıklaması şöyle. Yani HSV değerleri ile oynayınca RGB değerlerinin bir kaç tanesi değişir.
The HSB model is also known as HSV (Hue, Saturation, Value) model. The HSV model was created in 1978 by Alvy Ray Smith . It is a nonlinear transformation of the RGB color space. In other words, color is not defined as a simple combination (addition/substraction) of primary colors but as a mathematical transformation.
Hue : Renk tonu. Ana rengi belirtir.

Saturation : Rengin doygunluğudur. Hue rengine katılan beyaz ışıktır. Bu değeri yüzde olarak vermek daha kolay. 100% değeri en doygun renk anlamına gelir.  Doygun renkler daha canlı görünürler ve göze daha çok batarlar.
Doygunluk azaldıkça renk grileşir

Value/Brigtness : Aynı zamanda Brigtness olarak ta bilinir. Parlaklık. Bu değeri yüzde olarak daha kolay. Bu değer 0 ise renk siyahtır.
Şeklen şöyle. Burada ufak bir sorun var. V değeri 0.5 olmasına rağmen sağdaki dik çubuktaki beyaz nokta dikey olarak tam ortaya gelmiyor.



Hue Değerine Göre Sıralamak
Hue - yani renk tonuna göre - sıralamak gökkuşağını elde etmek için kullanılabilir.

Açıklaması şöyle.
HSV (also known as HSB) is a color model that transforms RGB colors to make them easier to manipulate and reason with. An HSV color consists of three components, in the following order:

- Hue is an angle from red at 0 to yellow to green to cyan to blue to magenta to red.(7)
- A component called "saturation", the distance of the color from gray and white (but not necessarily from black), is 0 or greater and 1 or less.
- A component variously called "value" or "brightness" is the distance of the color from black and is 0 or greater and 1 or less.
Örnek
Farklı String nesnelerine farklı HSV rengi üretmek için şöyle yaparız.
1. String.hashCode() ile hashCode bulunur.
2. hashCode / (float)X yapılarak hue değeri hesaplanır
3. hashCode / Integer.MAX_VALUE ile (0.0 - 1.0) arasında saturation hesaplanır. Gerekirse saturation belli bir aralıkta olacak şekilde alt ve üst sınır da verilebilir.
4. Brigtness hep 0.9 verilir.
Örnek
Android'de Color.colorToHSV () metodu ile ARGB'den HSV'ye geçiş yapılabilir.

Örnek
Java'da şöyle yaparız.
final float hue = random.nextFloat();
// Saturation between 0.1 and 0.3
final float saturation = (random.nextInt(2000) + 1000) / 10000f;
final float luminance = 0.9f;
final Color color = Color.getHSBColor(hue, saturation, luminance);
- Hue değeri herhangi bir float sayı olabilir.

- Saturation 0.0 ve 1.0 arasında değer alır. Rengin parlaklığıdır. Bu değer 1 ise renkler çok parlak görünür. 0.1 ve 0.3 arasındaki değerler göze daha rahat hitap eden renkler verirler.

- Value 0 is renk siyahtır. 0.9 değeri göze daha rahat hitap eden renkler verirler.


14 Ağustos 2018 Salı

Renk Uzayı - Greyscale (Gri Tonlamalı)

Greyscale Nedir ?
Bu tür resimlere "siyah beyaz" veya "gri tonlamalı" resim diyoruz. Resmin grinin tonları olarak kaydedilmesi anlamına gelir. 8 veya 16 bitlik siyah olabilirler. 8 bitlik resimde beyazdan siyaha kadar 256 ton kullanılabilirken, 16 bitlik resimde çok daha fazla ton kullanılabilir. İnsan gözü 8 bitteki tonlardan daha fazlasını ayırt edebilir.

RGB'den Çevrim
Kullanılan formül şöyle
I = 0.299 R + 0.587 G + 0.114 B
Yeşil renge daha fazla ağırlık verilmesinin açıklaması şöyle.
The reason for that formula is that we do not perceive red, green and blue equally, so their contributions to the intensities in a grayscale image shouldn't be the same; since we perceive green more intensely, green pixels should look brighter on grayscale.