11

PhotoShop で行われる手動のプロセスを、サーバーで行われる自動化されたプロセスに置き換えようとしています。現在、PhotoShop では、「色の範囲」ツールを使用して、「あいまいさ」係数を使用し、プロセスの部分に応じて黒または白から始まる色の範囲を選択します。

私の最初のアプローチには、L*a*b 色空間での発光のしきい値の使用と、候補色と黒/白の間の DE94 の両方が含まれていました。どちらの場合も、選択すべきではない色を選択したか、選択すべき色を選択していませんでした。

私の直感では、選択には球ではなく円錐を使用する必要があります。

PhotoShop が何をしているのか、また、私が正しい方向に向かっているかどうかについて、誰かが洞察を与えることができますか? また、これを行うためのライブラリがあれば素晴らしいと思います。現在、これを C で書いています。

4

3 に答える 3

5

Photoshop で見たものから、アルゴリズムはおそらく次のようになります。

  1. 2 つの色の近さを計算する関数を定義します。たとえば、色空間でユークリッド距離を使用します。つまり、ユークリッド距離の公式を使用して、RGB 空間で 2 つのピクセルの色間の距離を計算します。
  2. 次に、 Gaussian functionなどの fallof 関数を使用して、各ピクセルの強度を調整します。おそらく、いくつかのパラメータを微調整する必要があります。明確にするために: RGB 空間で 2 つのピクセルの距離を計算し (2D ピクセル座標での距離ではありません)、それをフォールオフ関数に入力すると、0.0 から 1.0 の間の結果が得られます。現在のピクセルのすべてのカラー コンポーネントにフォールオフ関数の結果を乗算します。画像の各ピクセルに対してこれを行います。
  3. 効果の範囲パラメーターを追加する場合は、単純に各ピクセルに対して同じフォールオフ関数を再度使用しますが、今回は、選択したピクセルとピクセルの 2D 空間内の現在のピクセルの間のユークリッド距離 (ピクセル間の距離) を入力します。画像上の座標)。

特定のピクセルのみを選択したい場合は、画像内のピクセルに効果を直接適用する代わりに、減衰値をdouble0.0 から 1.0 の範囲の s のマトリックスに格納できます。次に、特定のピクセルを選択するしきい値を選択します。

たとえば、座標 (x, y) のピクセルのステップ 2. で 0.8 が得られ、ステップ 3. で 0.5 が得られた場合、座標 x と y の行列要素の値は になります0.8*0.5=0.4。0.4 未満の選択しきい値を選択すると、ピクセル (x, y) が選択され、そうでない場合は選択されません。

于 2013-11-19T14:56:39.553 に答える
2

私の推測では、HSL カラー スペースを使用しており、ファジー性は明度のウィンドウで特定の色相と彩度を持つすべての色を選択するパラメーターです (これに基づく)。

現在、選択は、そのウィンドウ内にあるすべてのものを見つけるしきい値計算を行っているだけかもしれません(色空間の非常に小さな領域になります)。ただし、統計的距離の計算も行っている可能性があります。色サンプルが実際に色の周りのウィンドウを小さくサンプリングしている場合は、色の分散を計算し、そこからマハラノビス距離の計算としきい値のようなものを使用できます。

繰り返しますが、それはすべて推測にすぎませんが、おそらくあなたの思考プロセスに役立つでしょう.

最後に、このライブラリにはこのようなものが直接実装されていませんが、OpenCVには実装を容易にする多くの画像処理ツールがあります。

于 2013-11-14T19:56:15.450 に答える