私がPythonで書いているopencv
プログラムで私のFacetime HDカメラの露出を手動で設定する方法を解明しようとしています。私はopencv
バージョン3.2.0、Python 2.7、そしてOSX El Capitan上で動作しています。Python opencv 3.2.0でFacetime HDカメラの露出を手動で設定する方法OSX El Capitan
私はウェブカメラから写真をn秒ごとに撮影してディスクに書き込むプログラムを作成しています。私がドキュメンテーションで見たことから、私はカメラで露出を設定するためにこのメソッドを使いたいと思っています。
cv2.VideoCapture.set(CV_CAP_PROP_EXPOSURE, value) → retval
いくつか工夫した後、オンライン周りを探し、私は、以下のものを使用してopencv
の私のバージョンでは、カメラのプロパティにアクセスすることができたが見つかりました:、奇妙である何
cv2.CAP_PROP_EXPOSURE
です実際に写真を撮っている私の機能では、デフォルトの露出値が0.0であることがわかりました。その後、設定方法で変更すると、再度値をチェックしても露出は変わりません。 setメソッドは単に動作していないように見えます。ここで
は私の関数である。
def takePhoto():
cam = cv2.VideoCapture(0)
print(cam.get(cv2.CAP_PROP_EXPOSURE)) #this prints out 0.0
cam.set(cv2.CAP_PROP_EXPOSURE, 0.5)
print(cam.get(cv2.CAP_PROP_EXPOSURE)) #this also prints out 0.0, despite the use of set() in the line above
s, im = cam.read() # captures image
cv2.imwrite("test.jpg",im) # writes image test.jpg to disk
cam.release()
が、このカメラはマニュアル露出制御と互換性がないことを念のですか?私はまた、OSXのopencv
は、カメラのプロパティを手動で制御することを許可していない1つまたは2つの場所で読んだ。それはここで間違っていますか?あるいは、私は設定方法を不適切に使用していますか?自分のプログラムで撮った写真が一貫して露出不足になっているので、露出を手動で制御できるようにする必要があります。
おかげで、 ブライアン