指定されたグレー値と同じ知覚明度を持つ他の色を計算する方法は?


11

これは、色の側面があるtex.stackexchange私が尋ね質問に関連しています。その質問の結果は次の画像です。
値と彩度のコントラスト

左側に一連の灰色の四角を描き、右側に赤い枝を残しました。目標は、彩度が異なり、すべて同じグレー値を持つ赤い正方形を作成することです。hsvカラーモデルではすべて同じvですが、Gimpを使用して画像をグレースケールに変換すると、同じグレーに変換されません。また、視覚的な印象としては、右側の赤い正方形が左側の赤い正方形よりも暗くなっています。

特定のグレーが与えられた場合、特定の色相と同じグレー値(または、さらに良いのは同じグレーの印象)の色をどのように計算できますか?画像で使用されている色はすべて計算されるので、計算を組み込んだソリューションも好みます。

ここでは間違った用語を使用した可能性があります-私は機械エンジニアなので、必要に応じて修正するか、説明を求めてください。


ラボのカラースペースを使用するという提案から、いくつかの結論に達しました。

  • LabモデルのL値を使用して、さまざまな色に何らかのグレー値を設定できます。HSVモデルでは、これはvです。実際にそれらを比較することが許可されているかどうかはわかりませんが、誰かが不平を言うまでそれを行います。

  • hsvモデルでは、Labモデルにはない「ベースカラー」(色相)を設定することもできます。

  • hsvモデルでは、2つの定数(上の図ではh= 0、v= 0.375)と1つの変数(s)があります。

  • この時点まで、Labモデルには定数が1つしかありません。これは、私がすでにhsvモデルで作成したものに似たものを生成するには十分ではありません。

実験の時間だと思います。


できた!変換コードを実行した後、それは非常に簡単でした。最初のステップは、右側の「ターゲット赤」を定義することでした。RGB2Lab(255,0,0)を計算し、結果のL値を図の目的のLに変更しました(L = 62.5)。色は、(L、0,0)から(L、aTarget、bTarget)までのラボ空間で線形補間を使用して計算されます。結果:

ここに画像の説明を入力してください

ありがとうございました!


2
wikipediaのエントリで役立つと思われるものはたくさんありますが、私は(en.wikipedia.org/wiki/HSL_and_HSV#Disadvantages)が問題に関係している可能性があることを発見しました。特に、「HSLとHSVは、一部のRGB空間を参照すると、それらは絶対色空間ではありません。色を正確に指定するには、HSLまたはHSV値だけでなく、使用しているガンマ補正を含め、それらが基づいているRGB空間の特性も報告する必要があります。」
horatio

したがって、明らかなアイデアは、変換を試みるときにガンマとRGBカラースペースを指定することです(可能な場合!)。
horatio

2
さらに良いアイデアは、RGB→ L * a * b * →RGBです。ラボは人間の視覚に近づくように設計されており、明度はその次元の1つです。
JariKeinänen、

@koiyu Labは、グレーのマッチも見つけることを提案する方法です。(あなたは私にそれを打ち負かしました!これを投稿したとき、私は以下の答えをあざけっていました。)
Nick

色の知覚に関する問題のある議論を避けていました:)
horatio

回答:


10

ラボの色空間を使用して一致を見つけることができます。ターゲットグレーと同じL値を持つ色は、グレースケールに変換するとほぼ同じに見えます。

たとえば、(50、0、0)のLabの灰色は、Labの赤(50、30、0)、(50、50、30)、および(50、50、50)に非常に似ています。グレースケール。以下のサンプルでは、​​Photoshop(画像>モード>グレースケール)を使用してラボからグレーに変換しています。 オリジナルラボカラー
グレースケールに変換


それは私が欲しいもののようです!ありがとうございました。ただし、ツールセットで直接Labを使用することはできないため、何らかの変換アルゴリズムが必要です。KoiyuはRGB-> Lab-> RGBを変換することを提案しました、そして私はそれを実装しようと試みます。
クリストフ

1
次のものが見つかりました:http : //www.brucelindbloom.com/index.html?Equations.html。変換が正しいかどうかはわかりませんが、魔法がまだ必要だと思います。
クリストフ、

これらの変換関数は、便利なように見えます。
ニック

そして、彼らは確かにもう少しまっすぐに見えます...
クリストフ

@Nick私は電卓ですべての計算を行うことができます。ただし、LaTeXドキュメントにカラーモデル変換を実装する必要があるため、あちこちで頭痛の種になっています。完了したら、結果を投稿して、回答を受け入れます。
クリストフ

4

したがって、ニックからの上記のアドバイスは、50%の輝度に対してのみ機能します。異なる色に同じ他のL値を適用すると、灰色の結果が異なります。

これには数学が必要ですが、画面上で目で確認できます。

必要なすべての色を作成してから、透明度モードが「色」(または彩度または色相)の灰色の要素(イラストレーター)またはレイヤー(フォトショップ)を配置すると、以下のすべての要素がその明度を明らかにします。

その灰色の要素の下にあるすべての色の彩度が100であることを確認する必要があります。そうしないと、素敵な色ではなく灰色がかった結果になります。

さて、問題は次のとおりです。上記のすべての方法で、すべての要素を「使用するRGBプロファイル内の同じ明度」、つまり選択した「デバイス」と同じ灰色にし、最悪の部分を作成します。目はデバイスです、そして違いがあります。

同じ色を別の人に見せることができ、他の人と同じ「均一性」を見つけることができません。

選択したデバイスでこれらの色を「同じ明度」として設定しているという事実に加えて、それらがすべて「推定」されているだけでなく、別のデバイスで表示するとすぐに効果が失敗します。赤、緑、青の要素に異なる強度で光を当てる独自の機能があるため、たとえば赤の要素を取得できます。

また、上記のようにグレーからカラーにブレンドする場合、すべてのチャネルでグレーの要素が少なくとも1/255であることを確認する必要があります(つまり、グレーではなく)、元のグレーをソフトウェアが0色相:赤みがかった中間色になります(0色相と他の色とのブレンドは、赤の中間になるため)。

私は90年代からプリプレスのエキスパートであり、私のアドバイスは次のとおりです。あなたが数学に行くつもりなら、あなたは目のための数学(視覚機能)だけでなく、表示するデバイスの数学も使用する必要がありますそれらの数字。

幸運を。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.