1

サーマルカメラ効果をシミュレートしています。壁の前にいる人々に向けられたパーティーでウェブカメラを持っています。バックグラウンド減算技術を使用し、Aforge blobcounter を使用して、グラデーション カラーで塗りつぶしたいブロブを取得しました。私の問題 = GetBlobsEdgePoints は並べ替えられた点群を返さないため、たとえば GDI+ の PathGradientBrush を使用して単純にグラデーションを描画することはできません。

  1. ブロブをパスにトレースするためのシンプルで高速なアルゴリズムを探しています (間違いを犯す可能性があります)。
  2. blobcounter によって受信された blob を追跡する方法。
  3. 効果をシミュレートする他の方法の提案。

Emgu.CV.VideoSurveillance をざっと見てみましたが、動作しませんでした (例は v1.5 用で、v2+ を使用しました) が、フォーラムで遅いと人々が言うのであきらめました。

読んでくれてありがとう。

forge背景除去のサンプルコード

            Bitmap bmp =(Bitmap)e.VideoFrame.Clone();
        if (backGroundFrame == null)
        {
            backGroundFrame = (Bitmap)e.VideoFrame.Clone();
            difference.OverlayImage = backGroundFrame;
        }

        difference.ApplyInPlace(bmp);
        bmp = grayscale.Apply(bmp);
        threshold.ApplyInPlace(bmp);
4

2 に答える 2

1

GetBlobsEdgePoints の結果のサンプル画像を投稿していただければ、画像処理アルゴリズムが必要な場合にどのような型かを理解しやすくなるかもしれません。

1)貪欲なアルゴリズムを試すことができます。最初にランダムにポイントを選択し、そのポイントを「取得済み」としてマークし、「取得済み」としてマークされていない最も近いポイントを選択します。
適切な終了条件を見つける必要があります。複数の分離パスが存在する可能性がある場合は、分離パスの一部であるために必要な距離の定義を見つける必要があります。

3) 静的な背景がある場合は、200 ミリ秒離れているように、2 つの時間シフトされた画像の間に違いを作成することを試みることができます。ピクセルごとの違いを実行し、 abs(diff) をヒートカラーマップのインデックスとして使用するだけです。これにより、移動オブジェクトのエッジ グロー効果のような効果が得られます。

于 2010-08-22T14:46:31.317 に答える
0

これは私が取ろうとしている方向です(今のところ最高に見えます):

  1. 私自身のロジックでブロブ上のポイントのセットを定義します(肌のブロブの色は暖かくする必要があります..)
  2. それらの点の周りにグラデーションを描く

                GraphicsPath gp=new GraphicsPath();
                var rect = new Rectangle(CircumferencePoint.X - radius, CircumferencePoint.Y - radius, radius*2, radius*2);
                gp.AddEllipse(rect);
                GradientShaper = new PathGradientBrush(gp);
                GradientShaper.CenterColor = Color.White;
                GradientShaper.SurroundColors = surroundingColors;
                drawBmp.FillPath(GradientShaper,gp);
    
  3. それらのグラデーションをブロブ形状でマスクします

                blobCounter.ExtractBlobsImage(bmp,blob,true);
                mask.OverlayImage = blob.Image;
                mask.ApplyInPlace(rslt);
    
  4. カラーリマッピングで色付け

ヘルプ@Albinのtnx

于 2010-08-23T12:42:45.607 に答える