6

一定の背景で撮影した衣料品の画像を使用して、衣料品を除く画像のすべてのピクセルを透明にします。これを行うための最良の方法は何ですか?私はこれとオープンソースライブラリopencvに共通するアルゴリズムを研究しました。自分でローリングしたり、opencvを使用したりする以外に、これを行う簡単な方法はありますか?私はどんな言語やプラットフォームにもオープンです。

ありがとう

4

4 に答える 4

6

背景が画像内で一貫しているが、画像間で一貫性がない場合は、注意が必要になる可能性がありますが、これが私が行うことです。

  1. 画像をYUVやラボなどの強度/色の形式に分割します。
  2. 色の部分にヒストグラムを作成します。最も発生している色を見つけます。これは(おそらく)背景(更新)です。おそらくここでのより良いトリックは、画像の端から1つまたは2つのピクセル内のすべてのピクセルの中で最も発生している色を見つけることです。
  3. 画像のエッジから始めて、その色を持ち、その色のピクセルを介してエッジに接続されているすべてのピクセルを透明に設定します。
  4. 衣服のエッジは、背景と衣服の両方から色を取得するピクセルで構成されているため、少し醜く見えます。これに対抗するには、もう少し作業を行う必要があります。

    1. エッジ検出メカニズムを使用して、衣服のエッジを見つけます。
    2. エッジピクセルの色を、エッジピクセルのすぐ「内側」の色(つまり、その領域の衣服の色)と透明(出力画像形式でサポートされている場合)のブレンドに置き換えます。
    3. 本当に派手になりたい場合は、そのピクセルの色が背景色にどれだけ「似ている」かに応じて、透明度を上げます。
于 2009-10-28T09:26:20.590 に答える
2

基本的に、背景の色を見つけて差し引くのですが、ご存知だと思います。これをすべて自動的に行うのは少し難しいですが、それは可能のようです。

まず、OpenCVを使用したブロブ検出を見て、これが基本的に行われているかどうかを確認します。

自分でやるには:

背景を見つける:いくつかのオプションがあります。おそらく最も簡単なのは画像をヒストグラム化することであり、同様の値を持つ多数のピクセルが背景であり、2つの大きなコレクションがある場合、背景は中央に大きな穴があるものになります。別のアプローチは、背景色として周囲の周りのバンドを取ることですが、たとえば、フラッシュからの反射がより中央に位置する背景ピクセルを劇的に明るくする可能性があるため、これは劣っているように見えます。

背景を削除する:これに対する最初の取り組みは、背景色に基づいて画像をしきい値設定し、次にこれに対して「開く」または「閉じる」アルゴリズムを実行し、これをマスクとして使用して衣料品を選択することです。(開閉のポイントは、白いブラウスの黒いボタンや、黒い服の明るい反射など、服の小さな背景色のアイテムを削除しないことです。)

OpenCVはこのための優れたツールです。

これの最も難しい部分は、おそらくオブジェクトの周りの影になります(たとえば、白い背景の黒いジャケットは、エッジの一部とこのカットを作成する場所に連続した灰色の影がありますか?)、しかし、これまでに到達した場合、別の質問を投稿してください。

于 2009-10-27T02:28:52.003 に答える
0

すべての画像で同じ背景を持つカラー画像の場合:

  • 画像をHSVまたはHSLに変換します
  • 背景の色相値(+/- 10)を決定します。たとえば、フォトショップを使用してこの手順を1回実行してから、すべての写真に同じ値を使用します。
  • 色のしきい値を実行します。色相チャネルでは、背景の色相([0、hue [+] hue、255])を除外します。他のすべてのチャネルには、値の範囲全体(通常、0〜255)が含まれます。これにより、背景ではないピクセルが選択されます。
  • 「穴を埋める」操作(通常、ブロブ分析またはラベル付け機能に沿って見られます)を実行して、背景と同じ色であった可能性のある衣服の部分を完成させます。
  • これで、服の「マスク」である画像ができました。ゼロ以外のピクセルは服を表し、0ピクセルは背景を表します。
  • 処理のこのステップは、ピクセルをどのように透明にするかによって異なります。通常、画像をアルファ(透明)チャネルでPNGとして保存する場合は、のアルファチャネル間で論理積(「マスキング」とも呼ばれます)操作を使用します。元の画像とマスクは前の手順で作成されます。
  • voilà、背景が消えた、結果の画像を保存します。
于 2009-10-26T20:25:27.210 に答える
0

背景の正確な色の強度がわかっていて、それが変化せず、衣料品がこの色と一致しない場合、これは背景の減算の単純なアプリケーションです。つまり、特定の色の強度ではないものはすべて、 「オン」ピクセル、関心のあるものの1つ。次に、連結成分のラベル付け(http://en.wikipedia.org/wiki/Connected_Component_Labeling)を使用して、オブジェクトの個別のグループを把握できます。

于 2009-10-26T19:40:17.910 に答える