問題タブ [hsl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
15576 参照

c++ - OpenCV C++: RGBA を HSL に変換してからチャネルを分割する

一部の画像セグメンテーション作業では、HSL 色空間で画像の明度チャネルを使用したいと考えています。

これを達成するために、RGBA 画像を RGB に変換してから HSL に変換します。色変換後、 を使用して画像を色平面に分割しますcv::mixChannels。これにより、彩度/明度平面の黒の出力が得られます。

コード:

多分私は何かを台無しにしましたcv::mixChannelsか?

編集

これはcv::split私が使用したコードで、Xcode が表示するエラーは次のとおりです。

コード:

エラー:

編集2

わかりました、これは機能します:

これで、色相平面は完全に黒くなりましたが、彩度と明度平面は問題ないように見えます…</p>

0 投票する
1 に答える
253 参照

php - 色調を HSL + GD に置き換えますか?

#645591青の 3 つのトーン ( 、#6B90CAおよび#7BC8EF) と、ユーザーが選択した 1 つの色が最初の青の値 (ベース) を置き換え、余分な 2 つの色を置き換えるために 2 つのトーンを生成する基本イメージを使用しています。

非常に効率的で便利なこの回答を見つけましたが、問題は、ある色と他の色の違いを計算する方法です。その違いをまったく別の色で再利用できますか?

最初に、RGB の違いを取得して、それを新しい色に追加するだけでよいと考えましたが、これは私にとって非常に単純なことでした。

次に、いくつかの調査の結果、HSL が適しているように思われるので、基本の青 (最初の値) と次の 2 つの値の差を計算しました。そうすれば、別の値を選択して差を追加することができます。 ? まあ...そうではないことがわかりました:

次の現在の試行は、色相の値をそのままにして、彩度と明度の値に元の差を追加することです。結果はかなり良いですが、異なる色で機能するかどうかはわかりません.

  • 色が変わっても色調を維持する方法はありますか?
  • HSLは進むべき道ですか?
  • グレースケールに変換してそこから色付けしたいという気持ちはありますが、そうですか?

これがコードです。概念をテストするために CSS で作成しましたが、ツールは PHP+GD です。

0 投票する
1 に答える
1038 参照

javascript - jqueryで色の明度を変更する方法

色の濃淡を制御するための色見本とスライダーを作成しました。スライダーの値に合わせて色の明度を変えたい。私が試したこと:

ここでは、色をhslに変換し、l値を操作しようとしていますが、操作する正しい数式を取得していません。誰か助けてくれませんか?

0 投票する
2 に答える
2032 参照

c++ - 円形の値の平均化(特にHSLカラースキームの色相)

そこで、色がHSL値で表される多数のオブジェクトの平均色相を計算する方法をパズルで解こうとしていました。ありがたいことに、私はこのStack Overflowの投稿に出くわし、一番上の回答で提供されているアルゴリズムの実装に取り​​掛かりました(私はC ++で作業しています)。

残念ながら、私の実装は機能していないようです。これが完全です。「色相」と書いていますが、最初の実装に従って角度を度単位で使用していることに注意してください(コードが機能することがわかったら、0〜360度の色相から0〜256度の色相に切り替えるのは難しいことではありません)。

予想される3の答えの代わりに(このスキームでは355は-5に相当するはずなので)、86.9951を取得します。

誰かが私が間違っていることを指摘できますか?これは非常に基本的なようです。

0 投票する
2 に答える
7117 参照

colors - 2つのHSI色値間の色の見かけの違いを計算します

HSI(Hue Saturation and Intensity)には2つの色の値があり、2つの色の視覚的な違いを表す数値が必要です。色相は0から360までの数値です。彩度は0から1で、強度は0から1です。

たとえば、彩度が100%、強度が100%の赤と青を考えてみましょう。 このウェブサイトでは、次のテキストを入力して色を表示する方法があります。

赤は:hsv 0、100%、100%

青は:hsv 240、100%、100%

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

明らかにこれらは2つの非常に異なる色であるため、色の違いを計算する簡単な方法は、色相コンポーネントを使用して、色相の絶対差を計算することです。これは、360も等しいため120(360-240)になります。色相は0です。

問題は、彩度または強度が非常に暗いまたは明るい場合に発生します。非常に暗い赤と青を考慮してください。

濃い赤は:hsv 0、100%、20%

ダークブルーは:hsv 240、100%20%

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

明らかに、これら2つの色の視覚的な違いは、違いを比較するように求められた場合に人間が述べるように、明るい赤と青の色よりも小さくなります。ここで私が言いたいのは、友達に「どの色のペアが最も違うのか」と尋ねることです。彼らはおそらくトップの明るい赤青を言うでしょう。

私は人間が気付くように2つの色の違いを計算しようとしています。人間が2色のaとb、次に2色のcとdを見ると、どちらが最も異なっているかに気付くことができます。まず、色が明るい(ただし明るすぎない)場合、違いは色相に基づいています。色が白などの明るすぎる場合、または黒や灰色などの暗すぎる場合は、差が小さくなります。

x = diff(a、b)およびy = diff(c、d)がxとyを生成する関数diffを持つことができるはずです。また、xとyを使用して違いを比較し、最も異なる色を見つけることができます。最小の異なる色。

0 投票する
2 に答える
577 参照

javascript - ランダムなJavascriptでRGB値をHSL値に変換する

このサイトのメディアボックスにランダムなカラーオーバーレイがあります。

http://www.reportageborsen.se/reportageborsen/wordpress/

私はここstackoverflowで仲間から本当に良い助けを得て、このスクリプトを作成しました:

フィドルリンク: http: //jsfiddle.net/b5ZPq/3/

ただし、明るい色を増やし、灰色がかった色を減らしたいと思います。RGB値の代わりにHSL値で実行できることを理解しています。

そこで、cssの背景のrgb値をhsl値に変換し、スクリプトも変換しようとしましたが、機能しませんでした。

http://jsfiddle.net/zolana/Kc9U4/5/ (フィドル、更新、動作中:http: //jsfiddle.net/zolana/Kc9U4/9/

(私は、この特定のタスクのための堅実なスクリプトを用意するのではなく、すべてのRGB値をHSL値に変換するスクリプトを探していません(その目的のスクリプトがあることは知っています)。)

0 投票する
2 に答える
11380 参照

c# - ビットマップの色相/彩度/明度を変更する高速アルゴリズム

ビットマップ イメージをフィルタリングして、色相、彩度、および明度の値を増減させようとしています。

私のコードは完全に機能していますが、遅いです。

元のソースと現在の宛先の 2 つのビットマップをメモリにロックしています。ユーザーは、さまざまなトラックバーコントロールを移動して、HSL 値に変換される各値を変更できます。たとえば、トラックバーの値は -1.0 ~ 1.0 の範囲に対応します。

トラックバーの値が変更されたというイベントがスローされるたびに、宛先ビットマップをロックし、HSL 値をソース ビットマップに適用して、結果を宛先ビットマップに格納する関数を実行します。完了したら、宛先ビットマップのロックを解除し、画面にイメージをペイントします。

以前は、バイトごとの操作を行っていたため、他のフィルターにルックアップ テーブルを使用していました。ただし、代わりに HSL を使用してそれを適用する方法がわかりません。私が使用しているコードは次のとおりです。

そして、ここに私のModifyBrightness関数があります:

したがって、基本的に明るさスライダーが真ん中にある場合、その値は 0 になり、関数に渡すときに「1.0」に変換されるため、明るさが 1.0 倍されます。つまり、変化しません。スライダーを右端までドラッグすると、値が 100 になり、モディファイアが 2.0 になるので、明るさの値を 2.0 倍して 2 倍にします。

0 投票する
1 に答える
458 参照

c# - Color.GetSaturation() が機能しない?

HSL (HSL = Heu 飽和輝度としての HSB) カラー フィルターを使用します。色をHSLに変換するには:

このコードで私が抱えている問題は、HSLheu が正常に動作し、HSLlight も正常に動作することですが、灰色を含む色を使用すると、HSLsat が適切な値を反映しません。私が読んだことから、グレーの場合は0、純粋な色の場合は1である必要があります。したがって、私の場合、これは0から100ですが、彩度が特定の範囲内にあるかどうかを確認すると、これは機能しません。

0 投票する
0 に答える
1011 参照

colors - HSL の主な色の値 (赤、黄、緑、マゼンタ、青、紫) を計算します。

HSLメインカラーの値を数学的に計算するにはどうすればよいですか?
もちろん、プログラムでハードコードすることもできますが、色がメインか組み合わせかを判断する方法に興味があります。HSL カラー サークルには六角形が内接している必要があるため、その角が置かれている角度が必要です。

0 投票する
1 に答える
1290 参照

opencl - OpenCL RGB->HSL およびその逆

私はすべてのリソースを調べましたが、問題を解決できません。

私のホスト コードは rgb2hsl カーネルを呼び出し、次に hsl2rgb カーネルを呼び出します。最初と同じイメージで終わるはずですが、そうではありません。新しい画像の色合いが特定の領域でずれています。

赤い領域があってはなりません。何が起こるかのスクリーンショットは次のとおりです。

ここに画像の説明を入力

これが元の写真です

ここに画像の説明を入力

コードは次のとおりです。