ビデオ入力ライブラリを使用してウェブカメラからフレームを取得しています。私はこのカメラのFOCUSをCコードで設定したいと思います。ビデオ入力ライブラリまたはOpenCVで自動フォーカスを無効にする
カメラはです。自動フォーカスが有効です。 にオートフォーカスを無効にし、特定のフォーカス値を設定する方法はありませんか?
よろしく、 サレハ...
ビデオ入力ライブラリを使用してウェブカメラからフレームを取得しています。私はこのカメラのFOCUSをCコードで設定したいと思います。ビデオ入力ライブラリまたはOpenCVで自動フォーカスを無効にする
カメラはです。自動フォーカスが有効です。 にオートフォーカスを無効にし、特定のフォーカス値を設定する方法はありませんか?
よろしく、 サレハ...
は、あなたはこれを試してみました:https://stackoverflow.com/a/1718009/7531それはあなたがのDirectShowを使用する必要がありますが、これは可能なはずです。
それ以外の場合は、OpenCV documentation for CameraCaptureをご覧ください。カメラのパラメータに関するセクションは、カメラのパラメータを制御する方法を示しています。videoinput.h
のクイックルックでは、オートフォーカスのパラメータを表示する必要があります。このようにオートフォーカスを設定するのは This is a complete exampleです。
IAMCameraControl
は、パラメータを制御するためのウィンドウインターフェイスです。
使用しているウェブカメラや特定のファームウェアのバージョンによっては、フォーカス/オートフォーカスを制御できない場合があります。
oh yes。 VideoInputライブラリのマウスカーソルを使って設定ウィンドウで無効にすることができます。これは、カメラドライバがAutoFocusを無効にすることを有効にすることをサポートしていることを意味します。問題は、コーディングによって設定できないということです。 OpenCVのカメラキャプチャの実装についてお話しました。この実装では、プロパティ(フォーカス、ズーム、明るさなど)は機能しません。 : – Saleh
@ saleh - どのように問題を解決しましたか? – user1651460
@Saleh、問題の解決方法を教えてください。ありがとう – Abc
私はこのカップルの日のためにこの問題を探し、videoinputライブラリとdirectshowを試しました。 あなただけのOpenCVの内側(手動)を1回のためのカメラパラメータを設定したい場合は、私が見つけた最も簡単な方法は次のとおりです。
VideoCapture cap(0);
cap.set(CV_CAP_PROP_SETTINGS, 1);
あなたはパラメータを設定することは窓を飛び出します。オートフォーカスを無効にするのに十分です。
この方法の不都合な点は、焦点距離をプログラムで制御したい場合、それができないことです。
あなたが探している機能は、カメラとドライバ固有です。 The OpenCV camera property controlsは非常に基本的なパラメータのみを提供します。
OpenCV経由でその呼び出しを行う一般的な方法はありません。 OpenCVの通過、次のいずれかを実行行うことができない、それを行うには
、:
cap.set(CV_CAP_PROP_SETTINGS, 1);
あなたは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_BRITHNESS
やcv2.CAP_PROP_CONTRAST
などの他のクールな制御機能があります。 オートコンプリートが何を表示しているかを確認してください;)
私は次のコードを使用してビデオ入力ライブラリにフォーカスを設定できます。 setVideoSettingCamera(intデバイスID、longプロパティ、long lValue、long Flags = NULL、bool useDefaultValue = false); しかし、動作していません。 – Saleh
答えはプラットフォームによって異なる場合があります。どのOS /ハードウェアを使用していますか? –
windows ...あなたはこれらのどれかを考えることができます:7 64/32またはwindows xp 32 ... – Saleh