
現在、ウエブカメラ4台を使うシステムを作成しています。
下記のサイトを参考に、とりあえず動く様に成ったので現場へ送ったら動作しないとの事でした。
http://vision.kuee.kyoto-u.ac.jp/~hiroaki/index- …
原因はPCIバスのバス幅が133Mbであり、たまたま私が開発に使って居たPCがPCI-Expressスロットを持っていた為、バス幅が大きく、その為私のPC上では問題なく動作してしまった様です。
そこでカメラのフレームレートを下げようと色々探したのですが、下記のプログラムを見つけました。
このプログラムを組み込もうとおもったのですが、2行目の"pTimeline"に該当する形式がこのサンプルの中にありません。 何かnewで作成するものか、若しくは
"IAMTimelineObj* pVideoGroupObj;"の様に定義するものか分からず組み込めないで居ます。
私はC自体は長くやっていますが、改造が主で、クラスやDirectXの知識はほとんどありません。
この"pTimeline"はどの様に宣言したら良いのでしょうか、お分かりに成る方、宜しくお教え下さい。
なお、サンプルプログラムは下から取りました。
http://www.erde.co.jp/~katsu/wiki/index.php?%A1% …
IAMTimelineObj* pVideoGroupObj;
pTimeline->CreateEmptyNode(&pVideoGroupObj, TIMELINE_MAJOR_TYPE_GROUP);
IAMTimelineGroup* pVideoGroup;
pVideoGroupObj->QueryInterface(IID_IAMTimelineGroup, (void**)&pVideoGroup);
// グループのメディア タイプを設定
AM_MEDIA_TYPE mtGroup;
ZeroMemory(&mtGroup, sizeof(AM_MEDIA_TYPE));
mtGroup.majortype = MEDIATYPE_Video;
mtGroup.subtype = MEDIASUBTYPE_ARGB32; // alpha blendingする場合はMEDIASUBTYPE_ARGB32
// フォーマット ヘッダーを設定する。
mtGroup.pbFormat = (BYTE*)CoTaskMemAlloc(sizeof(VIDEOINFOHEADER));
if (mtGroup.pbFormat == NULL)
{
return E_OUTOFMEMORY;
}
VIDEOINFOHEADER *pVideoHeader = (VIDEOINFOHEADER*)mtGroup.pbFormat;
ZeroMemory(pVideoHeader, sizeof(VIDEOINFOHEADER));
pVideoHeader->bmiHeader.biBitCount = 32; // 32bit
pVideoHeader->bmiHeader.biWidth = 640;
pVideoHeader->bmiHeader.biHeight = 480;
pVideoHeader->bmiHeader.biPlanes = 1;
pVideoHeader->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
pVideoHeader->bmiHeader.biSizeImage = DIBSIZE(pVideoHeader->bmiHeader);
// フォーマット タイプとサイズを設定する。
mtGroup.formattype = FORMAT_VideoInfo;
mtGroup.cbFormat = sizeof(VIDEOINFOHEADER);
// サンプル サイズを設定する。
mtGroup.bFixedSizeSamples = TRUE;
mtGroup.lSampleSize = DIBSIZE(pVideoHeader->bmiHeader);
pVideoGroup->SetMediaType(&mtGroup);
pVideoGroup->SetOutputFPS(30); // フレーム/秒
pTimeline->AddGroup( pVideoGroupObj );
pVideoGroupObj.Release();
CoTaskMemFree(mtGroup.pbFormat);
No.1ベストアンサー
- 回答日時:
詳しい処理の詳細はこういう事をやったことがないので把握していませんが
いかにもDirectXらしい初期化法だなと思ったので
検索してみたら、それらしいものが出てきました
http://msdn.microsoft.com/ja-jp/library/dd148668 …
ここでは
IAMTimeline *pTimeLine;
の
CoInitialize(NULL);
CoCreateInstance(CLSID_AMTimeline, NULL, CLSCTX_INPROC_SERVER,
IID_IAMTimeline, (void**)&pTimeLine);
となっているようですが、一例としてはこれであってるとしても
CoCreateInstanceでの他の引数に関しては、TinyPineさんご自身の知識と環境などを含めてしっかりとご確認ください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- Excel(エクセル) 【!】Excel 2つの条件付き書式が反映されません。。 5 2023/07/14 16:47
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- UNIX・Linux VirtualBox ゲストOSにPC内蔵HDDのパーティションをマウントする方法は? 2 2023/05/06 22:52
- JavaScript gasについて 1 2022/05/31 21:51
- Visual Basic(VBA) VBAで自動集計(特定セルコピー月ごとに値貼り付け)したい。 6 2023/06/25 11:37
- 画像編集・動画編集・音楽編集 動画をディスク作成すると画像が乱れる。 4 2022/06/24 07:49
- PHP Content-Typeが機能していない? 2 2022/07/17 11:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
三次元のグラフを書きたいので...
-
自分のExeだけ、あたかもシステ...
-
Active Basic パソコンの電源...
-
プロダクションコードとは?
-
ICA(独立成分分析)
-
vba listviewにおけるtextのAli...
-
指定したフォルダーを最前面表...
-
OpenCvsharpについて。
-
無限ループ中にある任意のキー...
-
フィボナッチヒープです
-
プログラミングの問題と解答例...
-
C++ Builder6 をふたたび動か...
-
openGLで物体を半透明にして表...
-
VBAにてTIFFから画像を取込みた...
-
VB6 画面サイズ変更について
-
Arduino nano(アルドゥイーノ ...
-
VBコンソールアプリ(.NET Frame...
-
Pascalが全く分かりません!
-
Macターミナルで実行中のプログ...
-
ウインドウにデータを入力する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba listviewにおけるtextのAli...
-
指定したフォルダーを最前面表...
-
マイコンからプログラムを読み...
-
プロダクションコードとは?
-
2値化した画像の黒い部分のピク...
-
初級者の質問――time_tについて
-
VBA
-
Arduino nano(アルドゥイーノ ...
-
COBOLのS9タイプからXタイプへ...
-
無限ループ中にある任意のキー...
-
世界一美しいソースコード
-
DCOMのアプリで配布用プロ...
-
VC++で作成した図をクリップボ...
-
openGLで物体を半透明にして表...
-
DataGridViewで指定列の背景色...
-
signalハンドラに引数を渡したい
-
C言語→MATLABへの変換で、困っ...
-
VB6 画面サイズ変更について
-
VBAのプログラムが動いているか...
-
c言語 コマンドライン引数
おすすめ情報