3

C# でウェブカメラを使用しています (AForge を使用)。デフォルトの背景もあります。現在の画像と背景の違いを抽出し、デフォルトの背景に存在しないオブジェクトのみを含む新しい画像を作成する必要があります。たとえば、ウェブカメラの前で手を動かした場合、その手だけを出力する必要があります (残りの背景は白です)。ピクセルごとに比較すると、ノイズが多いため見苦しくなります。差のしきい値を使用してみましたが、結果はまだ非常に悪いです。たぶん、それを行うためのフィルターまたは既知のアルゴリズムがあると思いますか? どんな助けでも大歓迎です。

4

1 に答える 1

0

2 つのグレースケール画像をいつでも比較できます。ウェブカメラが固定されていると仮定すると (そうでない場合は、ピクセル シフトにさらに多くの調整を行う必要があるため)、画像をグレースケールに変換し、画像が異なると考えるしきい値を設定できます。

int threshold = 30;
PixAvg1[i,j] = (Pix1.R + Pix1.G + Pix1.B)/3
PixAvg2[i,j] = (Pix2.R + Pix2.G + Pix2.B)/3
if (Math.Abs(PixAvg1[i,j] - PixAvg2[i,j+1])>threshold)
    difPixel == true;

しきい値は、取得するピクセル間の許容範囲です。その値は、画像の明るさの違いから得られます。

これでは、カバーする一部のピクセルが一致するため、最も鮮明な結果は得られませんが、(必要に応じて) 追加のスキャンを実行し、ある種のエリア フィルを行うことができます。

于 2013-06-26T15:32:38.597 に答える