15

現在、RGB (赤、緑、青) 色空間と RYB (赤、黄、青) 色空間の間で色を変換しようとしています。

次の論文の詳細に基づいて、トリリニア補間を使用して RYB から RGB に変換できます。ここで、パラメトリック重み付け (s、t、u) は RYB 色であり、立方体の頂点は RGB 空間の 3d ポイントです。 .

視覚化のためのペイントにヒントを得た色の混合と合成 - Gossett と Chen - セクション 2.1 - 実現の詳細

私の困難は、変換プロセスを逆にすることです。

2 番目の論文では、この手法の使用について言及しており、ニュートン法を使用して逆変換が達成されたことも示しています。しかし、それ以上の詳細は提供しません。これはおそらく、三線補間方程式を解く際のルート検索を示しています。

色のコントラストへの注意による絵画様式の写真イメージへの転移について - 張小燕; コンスタブル、M。何英;

この問題を方程式で詳しく説明する前に、Java/C/C++/C# などの言語でこれを見たり解決したりした人はいますか?

私の現在のアプローチは、3 線形補間 (RYB から RGB へ) の前方方程式を取り、展開して再配置して、3 つの未知数 (パラメトリック重み付け: s、t、および u) の 3 つの連立方程式を提供し、根を見つける方法を考え出すことです。ニュートン・ラフソン法を使用しています。私はこれを正しい方法で行っていますか?

4

3 に答える 3

6

私は最終的にそれを解決することができました。

トライリニア補間の式を取る: ウィキペディア 編集:当時のウィキペディアの改訂

最初の方程式を最後の方程式に代入し、Xd、Yd、Zd、XdYd、XdZd、YdZd、ZdYdZd および定数の係数を展開して収集します。

次に、Xd、Yd、および Zd に関する 3 つの次元のそれぞれで方程式の偏微分を見つけます。これらの新しい方程式を使用して (3x3) ヤコビ行列を作成し、ニュートン法を使用してソフトウェアで解きます。

ニュートン・ラフソン法

于 2011-02-19T14:37:25.507 に答える
3

これは同じことを行う UIColor のカテゴリで、RGB、RYB、および CMYK の間の要素を返します。さらに、それぞれの色空間で任意の数の色を混合できます (もちろん、混合は異なります)。

https://github.com/ddelruss/UIColor-Mixing

于 2012-05-03T20:22:26.553 に答える