掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Directshowで解像度を変更するには? (ID:63469)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
どうもこんにちは。 私は、USBカメラをDirectshowとVisual C++を用いて画像処理を行っています。 そこでUSBカメラの解像度をデフォルトの640×480から320×240に変更したいのでグーグルで調べてみるとIAMStreamConfigを操作する事で解像度を変更できる事がわかったんですが、以下のソースコードの手順2でhrの値を調べると0以外の値が返ってきたので IPin::QueryInterfaceでIAMStreamConfigのインターフェースを取り出す事ができませんでした。 どのようにすれば手順2(IPin::QueryInterfaceでIAMStreamConfigのインターフェースを取り出す事ができますか? ご教授よろしくお願いします。 http://wwwdoi.elec.nara-k.ac.jp/html/jisyu/dxm/cap10/cap10.cpp このプログラムを参考に、ソース上の // ---- キャプチャグラフの準備 ---- ・・・ ・・・ // ---- 表示ウィンドウの準備 ---- の場所で、 ----------------------------------- AM_MEDIA_TYPE *pmt = NULL; IEnumPins *ppEnum = NULL; IAMStreamConfig *pAMSConfig = NULL; VIDEO_STREAM_CONFIG_CAPS caps; int iCount = 0, iSize = 0; /* 1.IBaseFilter::EnumPins()でキャプチャフィルタ からIPinインターフェースを取り出す。 */ hr = pbf->EnumPins(&ppEnum); /* 2.IPin::QueryInterfaceでIAMStreamConfig インターフェースを取り出す。 */ hr = ppEnum->QueryInterface(IID_IAMStreamConfig,(void **) &pAMSConfig); /* 3.IAMStreamConfig::GetNumberOfCapabilities()でサイ ズを取り出す。*/ hr = pAMSConfig->GetNumberOfCapabilities(&iCount, &iSize); ------------------------------------ 参考サイト http://www.freeml.com/ctrl/html/MessageForm/directshow@freeml.com/2482/
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.