C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: VB DirectShowでカメラのフォーカスを制御したい


(過去ログ 126 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■75239 / inTopicNo.1)  VB DirectShowでカメラのフォーカスを制御したい
  
□投稿者/ ひよこ (1回)-(2015/03/08(Sun) 15:47:49)

分類:[VB.NET/VB2005 以降] 

2015/03/08(Sun) 16:03:46 編集(投稿者)

DirectShowでUSBカメラで写真を撮るプログラムを作って思っています

開発環境:Windows 7(x86)
使用言語:Visual studio 2013 VB



画面表示や画像サイズ設定はできるようになったのですが、フォーカスや明るさなどを設定する方法がわからず丸一日手も足も出ませんでした
やりたいことですが、オートフォーカスをオフにしてトラックバーでフォーカスを設定する機能を実装したいと思っています
(現在はほかソフトで都度、事前設定しています)

詳細設定をする方法を教えていただけませんか
よろしくお願いします
引用返信 編集キー/
■75303 / inTopicNo.2)  Re[1]: VB DirectShowでカメラのフォーカスを制御したい
□投稿者/ かずっぴ (1回)-(2015/03/12(Thu) 12:06:07)
どうもこんにちわ
僕もまったく同じことをずっと悩んでいまして、、、
ただ、VBではなくVC++なのですが
情報少なくて困りますよねw

それで、トラックバーとかはさておき一応C++ではありますが、
IAMCameraControl インターフェイス
というのを使えばプログラム内で制御できるようです。

具体的には

まず
IAMCameraControl *pCameraControl;で宣言して
↓にIAMCameraControlの説明が書かれています。
 制御するわけなのでsetメソッドを使うことになります。
https://msdn.microsoft.com/ja-jp/library/cc354790.aspx


IUnknown インターフェイスのQueryInterfaceをつかって
pDeviceFilter->QueryInterface(IID_IAMCameraControl, (void **)&pCameraControl);
というようにメソッドを継承しまして
(pDeviceFilterというのはIBaseFilter pDeviceFilterというように元々宣言していたものです)
↓該当ページです。ここのQueryInterfaceを使ってます。
https://msdn.microsoft.com/ja-jp/library/cc351692.aspx

pCameraControl->Set(CameraControl_Exposure,-11, CameraControl_Flags_Manual);
というようにしてやれば制御ができました。
この一文ではカメラの露出を制御しています。

この文の最初の引数は
https://msdn.microsoft.com/ja-jp/library/cc352340.aspx
に書いてあるとおり、変更すればどの項目を変更するか選べます。

二番目の引数は変更する項目の新しい値を入力します。
カメラのメーカーなどによって異なるそうです

三番目の引数はカメラのモード変更です
CameraControl_Flags_Manualなら手動モード
CameraControl_Flags_Autoならオートモード
今回はプログラム内で手動で変更したいのでCameraControl_Flags_Manualを選んでます。
一応該当ページはここです
https://msdn.microsoft.com/ja-jp/library/cc352339.aspx

なんか説明へたくそですけど・・・
なにか役に立てればうれしいです;



No75239 (ひよこ さん) に返信
> 2015/03/08(Sun) 16:03:46 編集(投稿者)
>
> DirectShowでUSBカメラで写真を撮るプログラムを作って思っています
>
> 開発環境:Windows 7(x86)
> 使用言語:Visual studio 2013 VB
>
>
>
> 画面表示や画像サイズ設定はできるようになったのですが、フォーカスや明るさなどを設定する方法がわからず丸一日手も足も出ませんでした
> やりたいことですが、オートフォーカスをオフにしてトラックバーでフォーカスを設定する機能を実装したいと思っています
> (現在はほかソフトで都度、事前設定しています)
>
> 詳細設定をする方法を教えていただけませんか
> よろしくお願いします
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -