2011-07-18 6 views
2

提供されたビデオの各フレームから水平または垂直のピクセル行(または列)を1つずつ取る必要があるプロジェクトに取り組んでいます基本的にピクセル行をビデオ全体のイメージに追加して、イメージを作成します。私が提供しようと思っているビデオファイルは普通のビデオではありませんが、実際にビデオゲーム(Halo:Reach)からパンニングカメラを撮影したものです(まさにゲームが私にできる限り-85.5 °)。私は見下ろし、カメラを風景の上を非常にゆっくりと動かし、キャプチャされたビデオファイル(30fps)を各フレームから1つのピクセル行に取り込み、行を画像にコンパイルして効果的に(うまくいけば)風景を単一の画像。ビデオの各フレームから1つのピクセル行をキャプチャして一緒にコンパイルします

私はAxWindowsMediaPlayerコントロールを使って、移動やサイズ変更ができないようにフォームをロックしてから、スクリーンをキャプチャするためにGraphicsオブジェクトを使用していましたが、十分に速く、あまりにも多くの問題があるだろう、私はフレームに直接アクセスする必要があります。

私はFFLibとDirectShow.NETについて聞いたことがありますが、実際にはWindows SDKをインストールしたばかりですが、まだDirectXのものを混乱させる機会はありませんでした。私はそれを乱したときに戻る)。うまくいけば、誰かが私に正しい方向にポインタを与えることができます。

誰でも助けてくれると思われる情報があれば、とても感謝しています。ありがとうございました!

答えて

1

レンダリングしたビデオをrenderless mode(例:VMR9、EVR)で使用すると、すべてのフレームを自分で処理できます。 frame stepping playbackを使用すると、毎回1つのフレームをステップしてフレームを処理できます。

DirectShow.NETは、可能であればマネージコードを使用するのに役立ちます。私はそれをお勧めします。ただし、DirectShowのラッパーであるため、より高度なライブラリを探す価値があるかもしれません。

いくつかのサイドノート:角度と角度が違う照明では問題はありませんか?おそらく、スクリーンショットをキャプチャしてexisting stitching algorithmsを使用する方が簡単でしょうか?

+0

私はもともと複数のスクリーンショットをキャプチャしてそれらをステッチしてみましたが、問題は視点です。まず、私はまっすぐ見ることができません、私が見ることができる最も遠いものは-85.5度です。もう1つの問題は、カメラが動くにつれて物が異なる角度から見えることです。私が考えることができる唯一の選択肢は、風景の上に "カメラ"をパンし、ビデオの各フレームから単一の行を基本的に "スキャン"することです。私はカメラの正確でない角度を説明するためにスキャンする適切な行を計算します。私はつまずくつもりです、私はDirectShow.Netのどこかに行っています。 – HaLo2FrEeEk

関連する問題