1

フォアグラウンドまたはバックグラウンドでシーンがどれだけ動いているかを示す数値が必要です。

ありがとう!

4

1 に答える 1

1

最も簡単な方法は次のとおりです。

   Mat currentFrame, lastFrame, diff;
   absdiff( currentFrame, lastFrame, diff );
   float n = norm(diff, CV_NORM_L2);
   lastFrame = currentFrame.clone();

ここで、n はこのフレームと最後のフレームの差の尺度です

オプティカル フローが必要な場合もあります。これにより、ピクセルごとの移動ベクトルが得られます。

  // convert to grayscale before ..
  //
  Mat flow;      
  calcOpticalFlowFarneback(prevgray, gray, flow, 0.5, 3, 15, 3, 5, 1.2, 0);
  // 
  // flow is a CV_32FC2 matrix, each "pixel" is a Point2f with x,y being the motion gradient for that 

位置

(そのためのデモもあります)

于 2013-08-08T18:42:46.323 に答える