1

ビデオのオプティカルフローを計算するためのホーンシュンク法を研究していました。私のコードはCです。つまり、画像のグレースケーリング、導関数の計算など、すべてのアルゴリズムを最初から実装しています。メソッドの本質を完全に吸収することはできません。私が得る最終的なフローマトリックスには、各ピクセルの変位ベクトルが含まれていますよね?各ピクセルの意味で、フローマトリックスの値は、次の画像でピクセルが変位する量を示します。

すべてのピクセル値が0〜255の場合、これはどのように機能しますか。すべての計算はこれらのピクセル値に対して行われ、結果の出力は、たとえば1920X1080画像の変位を示します。

4

1 に答える 1

2

メソッドの結果は、2つのチャネルまたは2つの行列を持つ行列になります。1つはu(またはdx)方向/変位用で、もう1つはv(またはdy)方向/変位用です。つまり、ベクトル場があるということです

[u(x,y) v(x,y] = optical flow for each position (x,y) in your image

このベクトル場(この場の値)の精度は浮動小数点です。つまり、たとえばu(0,0) = 0.2 v(0,0) = 0.13。その結果、あなたのcoudの一部で、入力画像のグレー値を浮動値に変換しました。これは主に、勾配を計算するときに行われます。たとえば、ソーベル演算子を使用します。OpenCVライブラリにはHorn-Schunkの実装があります。コードの読み取りには時間がかかりますが、これはこのメソッドを実装するための非常に効率的な方法であると確信できます。

于 2013-03-28T22:17:35.323 に答える