OpenCV-Pythonを使ってwebカメラで写真を撮る

webカメラで写真を撮って保存してみる.

import cv2
import datetime

fileName = "pic" + datetime.datetime.today().strftime('%Y%m%d_%H%M%S') + ".png"

print(fileName)

capture = cv2.VideoCapture(1)

ret, image = capture.read()

if ret == True:
    cv2.imwrite(fileName, image)

file名に拡張子をちゃんとつけないとエラーになるので注意. 無事写真を撮って保存できました.

パラメータをいろいろ設定できるらしい. capture.set(cv2.cv.CV_CAP_PROP_EXPOSURE, 10)を追加.

が,エラーが出た.

$ python3 photo.py 
pic20151120_143216.png
Traceback (most recent call last):
  File "photo.py", line 14, in <module>
    capture.set(cv2.cv.CV_CAP_PROP_EXPOSURE, 10)
AttributeError: module 'cv2' has no attribute 'cv'
Cleaned up camera.

ググったけど今のところ解決法はよくわからず…

数字で,capture.set(15, 0.8)というふうに指定したらエラーはなくなるけどこれが解決法なのか?

参考サイト

金星☆ちゃんねる: Python版OpenCVでWebカメラの画像を取得する

python - Getting error - 'could not find a writer'while giving imshow, imwrite command opencv - Stack Overflow

Reading and Writing Images and Video — OpenCV 2.4.12.0 documentation

PseudoAjCode#2 Python OpenCV Adjusting Camera Parameters

Setting Camera Parameters in OpenCV/Python - Stack Overflow