6

統計を使用するために、プール内の人数を計算したいと考えています。プールの天井に設置された監視カメラによって生成された画像に、人工知能と画像処理を使用します。カメラは静止しているため、回転軸はありません。

画像処理のステップでは、泳いでいる人に注目し、残りのプールを削除してみます。背景と水泳選手のコントラストが必要です。

問題は、カメラの出力画像に、太陽光、光線、水底の黒い線、空中の旗、予備回廊のケーブルなど、多くの「ノイズ」が含まれていることです。

画像がどのように見えるかの例を次に示します。この例は私の携帯電話を使用して出力の写真から取得されているため、実際の画像はより良い品質になります。

画像のキャプチャ

  • 画像から太陽光線/光線を除去する最も効率的な方法は何ですか? もしかしてフィルター使ってる?
  • 水底の黒い線を考慮して、水泳選手と背景の間に高いコントラストを作成するにはどうすればよいですか?

カメラが動かないので、背景が同じ (太陽光線を除く) 他の画像を取得でき、画像の違いを利用して水泳選手を抽出できるのではないでしょうか?

アイデア/フィルター/リファレンスを探しています。

4

1 に答える 1

4

私の提案は、画像を HSV 空間に分析することです。参考までにH(色相)は色に対応しています。S(彩度)は色の純度です。

matlab を使用している場合は、opencv で関数 rgb2hsv() を使用し、cvCvtColor() を使用して色空間を変換します。

これは、私があなたの画像に対して行った小さな実験です。画像を HSV 空間に変換しました。そして、その偽色マップを投稿しました。これであなたができることは、人々を識別するためにk-meansのようなものをクラスタリングすることです. ここに画像の説明を入力

オクターブ/matlabで再生成するための正確なコマンドは次のとおりです。

>> im = imread( '9Nd5s.png' );
>> hsv = rgb2hsv( im );
>> imagesc( hsv(:,:,1) ), colormap( hot )

これがお役に立てば幸いです。さらにサポートが必要な場合はお知らせください。あなたの問題は取り組むのが面白いようです。

于 2012-10-26T14:16:03.837 に答える