トップページ > 過去ログ > 記事閲覧
フレーム毎に色データをメモリ(変数)へ格納するには&高速化
名前:bitboy 日時: 2006/11/12 17:07

初めて質問します。 WinAPIでの動画像処理は結構重いと聞いて、DXlibを触り始めたのですが、処理をほぼビデオデバイス側に任せるような 通常の使い方↓  ///////////////////  動画ファイルを読込   → フレーム毎に画面へ出力(PlayMovieToGraph 等)  ///////////// ではなく、ワンステップ踏ませて↓  //////////////////  動画ファイルを読込(以下、フレーム毎に)   → 1. 任意の範囲の画素情報(R,G,B)を変数(iPix)へ格納   → 2. iPixの状態を画面へ描画   → (3. iPixを入力データとして後に続く変数にちょっとした処理)   → (4. 1コマ分(動画面全体)を画面へ描画)  ファイル終端までいったら、次の動画ファイルへ  ※iPix は100x100pixel程度の配列  ※動画ファイルは画面サイズは任意  ///////////////////// のようにしたいのですが、ムービーグラフィックハンドル?やビデオメモリへのアクセス等のやり方が分からなく、行き詰まっています。 ”DXライブラリ サンプルプログラム”ページ内の「26.グラフィックメモリの直接アクセス」項は見てみたのですが、、、動画ファイルを入力にすると、正直分からず・・・。 今、動画ファイルを読み込み、画面へ描画する程度のことしかできていません。 ご助言よろしくお願いします。

Page: 1 |

Re: フレーム毎に色データをメモリ(変数)へ格納するには ( No.1 )
名前:管理人 日時:2006/11/07 13:24

 bitboyさん始めまして、DXライブラリの管理人です。  PlayMovieToGraph で再生する動画イメージに直接アクセスする 方法は、質問&雑談掲示板の 1383番の書き込みで解説していますので、 宜しければご覧になってみて下さい。 (ビットマップイメージへのアクセスに慣れた方に対してのご説明 なので、もし不明な点がありましたらこちらでご質問下さい m(_ _)m)
Re: フレーム毎に色データをメモリ(変数)へ格納するには ( No.2 )
名前:bitboy 日時:2006/11/08 17:07

こんにちはbitboyです。 >管理人様 掲示板の情報で、ひとまずの希望するシステムは実現できました。ほんと、ありがとうございます>< # DIB, BASEIMAGEの構造などはあまり分かっていないですが(汗 もうひとつ質問なのですが、、 ここまで、一つの動画ファイルに対してのプログラムは書けたので、次は複数個の動画ファイルを続けて処理できるものへ拡張しようとしているのですが、 例えばこうした動画処理をウエイト無し(普通に再生しているスピードではなく、デバイスの限界スピード)で 順次処理&コマ送りしていくようにするには何かいい方法があるのでしょうか・・? このスレッドの4つぐらい下にある「動作速度についての質問」を見て試してみたのですが・・・たぶん PlayMovieToGraph()を呼び出してるからなんでしょうか。処理は普通の再生スピードから変わりませんでした(他のやり方や情報を見落としていたらごめんなさい><)。 ※最悪、高速に処理する(フレームが一気に移り変わる)ために今どこを再生しているのかをリアルタイムに描画できなくてもOKです。 ※1秒間に1枚だけフレームを拾ってきて描写、程度でも構いません。 あと、動画データを大量に扱うための心配事なのですが、 リソースになるシステムメモリの容量とかは大丈夫なのでしょうか・・ ビデオメモリを使うやらその辺のことに無知なのですが、できるだけシステムメモリを使用しない、高速なものにしたいです。 今、つかえそうな関数を少しずつ試してみていっているのですが、何かツボとかありますでしょうか・・。 すこし話がずれて申し訳ないのですが、 お時間ありましたら、アドバイスのほど、よろしくお願いします。 (追記)  どうしてそんな変なことをしているかというと、人工知能といいますか・・学習するプログラムでの入力部分を動画データで・・、と今、考えているからです。  ちょっと想定はできないのですが、最低でも100時間以上の動画データを学習のためにぶち込んでやらないといけないと考えています。  まぁそれでも1週間ぐらいならコンピュータとシミュレーションに付き合ってもいいのですが・・・もっと高速にできるなら儲けものなんです(汗  動画データを弄って入力・解析・うんぬんの方法がなぜか学術関係の資料に見当たらない中、このDXlibを用いて簡単にそれが実現できた!これだけでも、とっても幸せなのですが・・欲張りかな^^;
Re: フレーム毎に色データをメモリ(変数)へ格納するには ( No.3 )
名前:管理人 日時:2006/11/09 13:40

 bitboyさんどうも、DXライブラリの管理人です。  DirectShow に関しては殆ど知識が無いので、今の所 PlayMovieToGraph で 再生しながらイメージを取得する方法が私の出来る範囲では最速です。  もっと高速にイメージを取得する方法があるかを調べ、それを実装するまでには ある程度時間が掛かると思いますので、申し訳ありませんが気長にお待ち下さい。m(_ _;m
Re: フレーム毎に色データをメモリ(変数)へ格納するには ( No.4 )
名前:bitboy 日時:2006/11/10 19:15

>管理人様 調べもせずに、難しいことを言ってしまって・・ごめんなさい。。 実装されることを願って、気長に待ちたいと思います。

Page: 1 |