Belirli bir gri değerle aynı algılanan açıklığa sahip diğer renkler nasıl hesaplanır?


11

Bu, renk yönü olan tex.stackexchange'te sorduğum bir soru ile ilgili . Bu sorunun sonucu aşağıdaki görüntüdür:
değer ve doygunluk kontrastı

Solda bir dizi gri kare çizdim, kırmızı bir dal sağa doğru gidiyor. Amaç, farklı bir doygunluğa sahip, ancak hepsi aynı gri değere sahip farklı kırmızı karelere sahip olmaktır. HSV renk modelinde hepsi aynıdır v, ancak görüntüyü Gimp kullanarak gri tonlamaya dönüştürdüğümde, aynı griye dönüştürülmezler. Ayrıca görsel izlenim, sağdaki kırmızı karelerin soldakilerden daha koyu olmasıdır.

Belirli bir gri verildiğinde, belirli bir renk tonu ve aynı gri değeri olan renkleri (veya daha da iyisi, aynı gri izlenimle ) nasıl hesaplayabilirim ? Görüntüde kullanılan renklerin tümü hesaplanmıştır, bu yüzden hesaplamaları da içeren çözümleri tercih ederim.

Burada yanlış terimler kullanmış olabilirim - makine mühendisiyim, bu yüzden lütfen uygun olduğunda beni düzeltin ya da açıklama isteyin.


Lab renk alanını kullanma önerisi beni bazı sonuçlara götürdü:

  • LFarklı renkler için bir çeşit gri değeri ayarlamak için Lab modelinin değerini kullanabilirim. HSV modelinde bu v. Bunları gerçekten karşılaştırmamın mümkün olup olmadığından emin değilim, ama biri şikayet edene kadar yapacağım.

  • HSV modelinde Lab modelinde bulamadığım bazı "temel renkler" (ton) da ayarlayabilirim.

  • HSV modelinde 2 sabitim var (yukarıdaki resimde: h= 0, v= 0.375) ve bir değişken ( s).

  • Bu noktaya kadar, Lab modelinde sadece bir sabit var. Bu hsv modeli ile yaptığım gibi bir şey üretmek için yeterli değil.

Sanırım deneme zamanı.


Bitti! Dönüşüm kodunu çalıştırdıktan sonra wuite kolay oldu. İlk adım, sağdaki "hedef kırmızı" yı tanımlamaktı. RGB2Lab'ı (255,0,0) hesapladım ve sonucun L değerini şekilde istenen L olarak değiştirdim (L = 62,5). Renkler Lab alanında (L, 0,0) ila (L, aTarget, bTarget) arasında doğrusal bir enterpolasyon kullanılarak hesaplanır. Sonuç:

resim açıklamasını buraya girin

Teşekkür ederim!


2
Wikipedia girişinde yararlı bulabileceğiniz bir ton şey var, ancak sorununuzu (özellikle HSL ve HSV tamamen tanımlandığı için) buldum ( en.wikipedia.org/wiki/HSL_and_HSV#Disadvantages ). bazı RGB uzaylarına referansla, bunlar mutlak renk uzayları değildir: bir rengi kesin olarak belirtmek için sadece HSL veya HSV değerlerini değil, aynı zamanda kullanılan gama düzeltmesi de dahil olmak üzere temel aldıkları RGB alanının özelliklerini bildirmeyi gerektirir.
horatio

Dolayısıyla açık fikir, bir dönüşüm denemesinde gama ve RGB renk uzayını (mümkünse!)
horatio

2
Daha da iyi bir fikir RGB → L * a * b * → RGB; Laboratuar insan vizyonuna yaklaşmak için tasarlandığından ve Hafiflik boyutlarından biridir.
Jari Keinänen

@koiyu Lab, gri eşleşmelerin de bulunmasını öneriyorum. (Beni yendin! Bunu gönderdiğinde aşağıdaki cevabı alay ettim.)
Nick

Renk algısının sorunlu tartışmasından kaçınıyordum :)
horatio

Yanıtlar:


10

Sen kullanabilirsiniz Lab renk alanı Kibritlerini bulmak için. Hedef grinizle aynı L değerine sahip renkler, gri tonlamaya dönüştürüldüğünde neredeyse aynı görünecektir.

Örneğin, (50, 0, 0) değerinde bir Lab grisi, dönüştürüldüğünde Lab kırmızılarına (50, 30, 0), (50, 50, 30) ve (50, 50, 50) çok benzer görünecektir. gri tonlama. Aşağıdaki örnekler Lab'dan griye dönüştürmek için Photoshop (Görüntü> Mod> Gri Tonlama) kullanır: Orijinal Laboratuvar renkleri
Gri tonlamaya dönüştürüldü


Bu istediğim bir şeye benziyor! Teşekkür ederim. Ancak, Lab'ı doğrudan araç setimle kullanamıyorum, bu yüzden bir tür dönüşüm algoritmasına ihtiyacım var. Koiyu, RGB -> Lab -> RGB'yi dönüştürmeyi önerdi ve bunu uygulamaya çalışacağım.
Christoph

1
Şunu buldum: http://www.brucelindbloom.com/index.html?Equations.html . Dönüşümlerin doğru olup olmadığını bilmiyorum ve hala biraz sihir gerektiği izlenimini edindim.
Christoph

Bu dönüştürme işlevleri, faydalı olabileceklerine benziyor.
Nick

Ve gerçekten biraz daha düz görünüyorlar ...
Christoph

@Nick iyi bir hesap makinesi ile tüm hesaplamaları yapabilirim. Ancak, LaTeX dokümanımda renk modeli dönüşümlerini uygulamak zorundayım, bu da bana burada başım ağrıyor. Tamamlandığında, sonucu gönderirim ve cevabınızı kabul ederim.
Christoph

4

Yani, Nick'in yukarıdaki tavsiyesi sadece% 50 Parlaklık için çalışıyor. Farklı renklerle aynı başka bir L değeri uygularsanız, gri sonuç farklı olur.

Bunun için bir matematik olmalı, ancak bunu ekran gözünden yapabilirsiniz.

İstediğiniz tüm renkleri oluşturursanız ve daha sonra saydamlık moduyla "renk" (veya doygunluk veya renk tonu) olan gri bir öğe (illustrator) veya katman (photoshop) bırakırsanız, aşağıdaki tüm öğeler parlaklığını ortaya çıkarır.

Bu gri öğenin altındaki tüm renklerin 100 doygunluğa sahip olduğundan emin olmalısınız, yoksa hoş renkler yerine gri-ish sonuçları elde edersiniz.

Şimdi, sorun: Yukarıdaki tüm yöntemlerle, tüm öğeleri "kullanılan RGB profili içinde aynı parlaklık", yani seçilen "cihaz" için aynı gri ve en kötü kısım yapacaksınız: Göz bir cihazdır ve farklılıklar var.

Farklı insanlara aynı renkleri gösterebilirsiniz ve diğerleriyle aynı "düzgünlüğü" bulamazlar.

Bunu, seçili cihazda bu renkleri "aynı parlaklık" olarak ayarladığınıza ve yalnızca farklı bir cihazda gösterdiğinizde hepsi "tahmini" değil, efekt başarısız olur, çünkü her cihaz kırmızı yeşil veya mavi elementleri farklı yoğunluklarda yakma yeteneğine sahiptir, bu nedenle, örneğin kırmızı er elementler elde edebilirsiniz.

Ayrıca, yukarıda belirtildiği gibi bir griden bir renge karışım yaparsanız, gri öğenin her kanalda en az 1/255 (yani daha uzun gri değil) olduğundan emin olmanız gerekir, aksi takdirde yazılım orijinal griyi 0 ton, size kırmızı-orta renk tonları verecektir (çünkü 0 renk tonu ve diğer renkler arasındaki karışım kırmızıya doğru yarı yolda olacaktır)

90'lı yıllardan beri bir baskı öncesi uzmanıyım ve tavsiyem: eğer matematikle gidecekseniz, matematik için göz (görsel yetenekler) ve göstereceğiniz cihaz için olanları kullanmalısınız. bu sayılar.

İyi şanslar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.