araç köşesi

RGB'den HSV'ye Renk Çevirici

RGB ya da HEX rengini ton, doygunluk ve parlaklık (HSV/HSB) değerlerine çevirin; HSV yazarsanız RGB ve HEX karşılığı çıkar

Verileriniz sizde kalır. Dönüşüm tarayıcının içinde yapılır, hiçbir şey sunucuya gitmez.

Nasıl çalışır?

Her satıra bir renk yazın; yön seçmeniz gerekmez, araç biçimi satırdan anlar. rgb(154, 52, 18), on eksiz "154 52 18" ve #9A3412 gibi HEX kodu RGB olarak okunur ve HSV karşılığına çevrilir: bu kiremit rengi hsv(15, 88%, 60%) olur, yani ton 15 derece, doygunluk yüzde 88, parlaklık yüzde 60. Ters yönde hsv(145, 70%, 55%) yazdığınızda rgb(42, 140, 83) ve #2A8C53 yeşilini alırsınız. Photoshop'un renk seçicisi aynı değerleri HSB adıyla gösterir; hsb(15, 88, 60) ve "H15 S88 B60" yazımları da kabul edilir. Dikkat edilecek tek nokta: ön eki ve işareti olmayan üç sayı her zaman RGB sayılır. "24 88 60" yazarsanız koyu yeşil bir RGB rengi olarak okunur; HSV kastediyorsanız hsv(24, 88%, 60%) ya da 24° 88% 60% biçiminde yazın. Python'da OpenCV ile çalışıyorsanız çıktı biçiminden OpenCV ölçeğini seçin; değerler o kütüphanenin beklediği 0-179 ve 0-255 aralığında yazılır. Tanınmayan satırlar çıktıda işaretlenir, diğer satırlar çevrilmeye devam eder.

Bu araç rgb to hsv, hsv to rgb, hex to hsv, hsv renk kodu aramalarıyla da biliniyor.

HSV (HSB) nedir?

HSV, bir rengi üç soruya ayırır: Hue (ton) renk çemberinde kaç derecede olduğunu, Saturation (doygunluk) rengin ne kadar canlı ya da grileşmiş olduğunu, Value (parlaklık) ne kadar aydınlık olduğunu söyler. Ton 0 derecede kırmızı, 120'de yeşil, 240'ta mavidir; doygunluk sıfıra inince renk griye, parlaklık sıfıra inince siyaha döner. Photoshop aynı modeli HSB adıyla gösterir. RGB'den hesaplanır, kendi başına yeni bir renk alanı değil, RGB'nin insan gözüne daha anlaşılır bir yazımıdır.

Ton açısı (hue) nedir?

Ton, rengin renk çemberi üzerindeki yeridir ve derece ile yazılır: 0 kırmızı, 60 sarı, 120 yeşil, 180 camgöbeği, 240 mavi, 300 eflatundur; 360 derece yeniden kırmızıya döner, bu yüzden araç 360 yazınca 0 sonucunu verir. Gri, beyaz ve siyah tonların tonu yoktur; formül bu durumda tonu 0 kabul eder. İki rengin aynı aileden olup olmadığını anlamak için RGB sayılarına değil ton açısına bakmak yeterlidir: kiremit kırmızısı ile soluk somon aynı tona yakın durur.

RGB nedir?

RGB, ekranın her pikseldeki kırmızı, yeşil ve mavi ışığını 0-255 arası üç sayıyla yazar ve tarayıcının, telefonun, monitörün doğrudan anladığı tek dildir. Sayılar donanıma göre düzenlendiği için bir rengi biraz daha açık ya da daha soluk yapmak RGB'de üç sayıyı birden değiştirmeyi gerektirir. HSV'ye çevirmek bu ayarı tek sayıya indirir; ayarlanan değer daha sonra yine RGB ya da HEX'e çevrilip ekrana verilir.

HSV ile HSL arasındaki fark nedir?

İkisi de tonu aynı derece ölçeğiyle yazar; ayrıldıkları yer üçüncü değerdir. HSV'de parlaklık (V) yüzde 100 ve doygunluk yüzde 100 olduğunda rengin en saf hâli çıkar; beyaz ise doygunluk sıfır, parlaklık 100 ile elde edilir. HSL'de saf renk açıklık (L) yüzde 50'dedir, açıklık 100 olunca hangi ton olursa olsun beyaz çıkar. Bu yüzden aynı rengin doygunluk yüzdesi iki modelde farklı yazılır. CSS hsl() yazımını tanır, hsv() yazımını tanımaz; tasarım programlarının renk seçicileri ise çoğunlukla HSV/HSB kullanır. HSL değerine ihtiyacınız varsa sitedeki renk kodu dönüştürücüsü HEX'i HSL'ye çevirir.

Aynı renk neden programdan programa farklı sayılarla görünüyor?

HSV'nin tek bir yazım standardı yoktur; formül aynıdır ama her program sonucu kendi ölçeğine yayar. Photoshop ve GIMP tonu 0-360 derece, doygunluğu ve parlaklığı 0-100 yüzde olarak gösterir; bu araç da aynı ölçeği kullanır. Python'un colorsys modülü üç değeri de 0 ile 1 arasında verir. OpenCV, 8 bitlik görüntüde tonu ikiye bölüp 0-179 aralığına sığdırır, doygunluk ve parlaklığı 0-255'e çıkarır. Pillow kütüphanesinin HSV kipi ise üçünü de 0-255 aralığında tutar.

Bu yüzden bir koddan ya da makaleden kopyaladığınız HSV değerinin hangi ölçekte yazıldığını önce bilmeniz gerekir. OpenCV'de sarı için yazılan (30, 255, 255), derece ölçeğinde hsv(60, 100%, 100%) demektir; bu aracın kutusuna OpenCV sayılarını doğrudan yazarsanız yanlış renk çıkar. OpenCV ölçeği yalnız çıktı olarak sunulur ve OpenCV'nin kendi tamsayı hesabından bir birim sapabilir.

HSV hangi işte kullanılır, hangi işte kullanılmaz?

HSV, bir rengi insanın düşündüğü gibi ayırır: hangi renk (ton), ne kadar canlı (doygunluk), ne kadar aydınlık (parlaklık). Bir marka renginin açık ve koyu tonlarını üretmek için tonu sabit tutup yalnız parlaklığı değiştirirsiniz; renk ailesi bozulmaz. Görüntü işlemede belirli bir rengi seçmek (örneğin yeşil zemini ayırmak) için de RGB yerine HSV aralığı kullanılır, çünkü gölge ve ışık değişse de ton aynı kalır.

CSS ise hsv() yazımını tanımaz; web sayfasına renk yazarken HEX, rgb() ya da hsl() kullanılır. Bu araç HSV değerinin yanına HEX ve RGB'yi bu yüzden yazar: renk seçicide bulduğunuz HSV değerini stil dosyasına aktarmadan önce HEX karşılığını kopyalarsınız.

  • Photoshop/GIMP renk seçicisi, tasarım dosyası → HSV/HSB (derece ve yüzde)
  • Web sitesi, CSS, sunum → HEX ya da rgb()
  • Python + OpenCV ile renk maskesi → OpenCV ölçeği (0-179, 0-255)

Sık sorulanlar

RGB değerini HSV'ye nasıl çeviririm?

rgb(154, 52, 18) biçiminde ya da yalın "154 52 18" olarak bir satıra yazın; sonuç hsv(15, 88%, 60%) biçiminde, renk kutusuyla birlikte çıkar. HEX kodunuz varsa (#9A3412) onu da doğrudan yapıştırabilirsiniz.

HSV ile HSB aynı şey mi?

Evet. V (value) ve B (brightness) aynı değeri anlatır; Photoshop HSB, birçok yazılım HSV adını kullanır. Bu araç hsb(…) ve "H15 S88 B60" yazımlarını da HSV olarak okur.

OpenCV'de HSV değerleri neden 180'i geçmiyor?

OpenCV 8 bitlik görüntüde her kanalı 0-255 aralığında saklar; 360 derecelik ton bu aralığa sığmadığı için ikiye bölünür ve 0-179 olur. Doygunluk ve parlaklık 0-255'e ölçeklenir. Çıktı biçiminde OpenCV ölçeğini seçerseniz değerler bu aralıkta yazılır.

Üç sayı yazdım ama yanlış renk çıktı, neden?

Ön eki ve işareti olmayan üç sayı RGB olarak okunur. HSV yazmak istiyorsanız hsv(24, 88%, 60%) biçimini kullanın ya da sayıların yanına derece ve yüzde işareti koyun; araç o zaman satırı HSV sayar.