RGB 値から最も近いカラーマッチを見つける
データベース内のカラーデータを扱う場合、多くの場合、最も近いカラーマッチを決定する必要があります。指定された RGB 値にカラーを一致させます。素朴なアプローチは、テーブル内のすべての値を入力 RGB と比較し、各カラー チャネル (赤、緑、青) の差を計算することです。ただし、この方法は大規模なデータセットでは計算量が多くなる可能性があります。
ベクトルベースの比較
より効率的なアプローチには、色を 3 次元ベクトルとして扱うことが含まれます。 2 つの色の違いは、ピタゴラスの定理を使用して 3 次元で計算できます。
d = sqrt((r2-r1)^2 + (g2-g1)^2 + (b2-b1)^2)
ここで、(r1, g1, b1) と (r2, g2, b2) は 2 つの色の RGB 値です。 .
加重アプローチ
人間の目の感度は色によって異なるため、重み付けアプローチを使用できます。緑と青が最も重要で、次に赤が続きます。
d = sqrt(((r2-r1)*0.3)^2 + ((g2-g1)*0.59)^2 + ((b2-b1)*0.11)^2)
最適化
計算をさらに最適化するには、平方根を省略できます。色の相対的な違いのみに興味があります:
d = ((r2-r1)*0.30)^2 + ((g2-g1)*0.59)^2 + ((b2-b1)*0.11)^2
以上が大規模なデータセット内の特定の RGB 値に最も近い色を効率的に見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。