2012-02-08 14 views
8

ビデオ入力ライブラリを使用してウェブカメラからフレームを取得しています。私はこのカメラのFOCUSをCコードで設定したいと思います。ビデオ入力ライブラリまたはOpenCVで自動フォーカスを無効にする

カメラはです。自動フォーカスが有効です。 にオートフォーカスを無効にし、特定のフォーカス値を設定する方法はありませんか?

よろしく、 サレハ...

+0

私は次のコードを使用してビデオ入力ライブラリにフォーカスを設定できます。 setVideoSettingCamera(intデバイスID、longプロパティ、long lValue、long Flags = NULL、bool useDefaultValue = false); しかし、動作していません。 – Saleh

+0

答えはプラットフォームによって異なる場合があります。どのOS /ハードウェアを使用していますか? –

+1

windows ...あなたはこれらのどれかを考えることができます:7 64/32またはwindows xp 32 ... – Saleh

答えて

2

は、あなたはこれを試してみました:https://stackoverflow.com/a/1718009/7531それはあなたがのDirectShowを使用する必要がありますが、これは可能なはずです。

それ以外の場合は、OpenCV documentation for CameraCaptureをご覧ください。カメラのパラメータに関するセクションは、カメラのパラメータを制御する方法を示しています。videoinput.hのクイックルックでは、オートフォーカスのパラメータを表示する必要があります。このようにオートフォーカスを設定するのは This is a complete exampleです。

IAMCameraControlは、パラメータを制御するためのウィンドウインターフェイスです。

使用しているウェブカメラや特定のファームウェアのバージョンによっては、フォーカス/オートフォーカスを制御できない場合があります。

+0

oh yes。 VideoInputライブラリのマウスカーソルを使って設定ウィンドウで無効にすることができます。これは、カメラドライバがAutoFocusを無効にすることを有効にすることをサポートしていることを意味します。問題は、コーディングによって設定できないということです。 OpenCVのカメラキャプチャの実装についてお話しました。この実装では、プロパティ(フォーカス、ズーム、明るさなど)は機能しません。 : – Saleh

+0

@ saleh - どのように問題を解決しましたか? – user1651460

+0

@Saleh、問題の解決方法を教えてください。ありがとう – Abc

2

私はこのカップルの日のためにこの問題を探し、videoinputライブラリとdirectshowを試しました。 あなただけのOpenCVの内側(手動)を1回のためのカメラパラメータを設定したい場合は、私が見つけた最も簡単な方法は次のとおりです。

VideoCapture cap(0); 
cap.set(CV_CAP_PROP_SETTINGS, 1); 

あなたはパラメータを設定することは窓を飛び出します。オートフォーカスを無効にするのに十分です。

この方法の不都合な点は、焦点距離をプログラムで制御したい場合、それができないことです。

1

あなたが探している機能は、カメラとドライバ固有です。 The OpenCV camera property controlsは非常に基本的なパラメータのみを提供します。
OpenCV経由でその呼び出しを行う一般的な方法はありません。 OpenCVの通過、次のいずれかを実行行うことができない、それを行うには

、:

  • 手動@user3211236 suggestsとして、ドライバのキャプチャ・プロパティにアクセス:cap.set(CV_CAP_PROP_SETTINGS, 1);
  • プログラムにより、OS /ドライバ固有のAPIを経由して@jillesdewit suggestsとして。
7

あなたはOpenCVの3.1.0-devのバージョンとPython 2.7.5を使用する場合は、切り取ら次のコードは、あなたを助ける必要があります;)

cap = cv2.VideoCapture(1) # my webcam 
cap.set(3, 1280) # set the resolution 
cap.set(4, 720) 
cap.set(cv2.CAP_PROP_AUTOFOCUS, 0) # turn the autofocus off 

ロジクールHD ProをウェブカメラC920である正常に動作します。 cv2には、cv2.CAP_PROP_BRITHNESScv2.CAP_PROP_CONTRASTなどの他のクールな制御機能があります。 オートコンプリートが何を表示しているかを確認してください;)

関連する問題