pythonはopencvに基づいてカメラを操作します。


カメラを使用するには、cv 2.VideoCapture(0)を使ってVideo Captureオブジェクトを作成する必要があります。パラメータ0はカメラの番号を指します。パソコンにカメラが二つあると、第2のカメラにアクセスして1に入ることができます。

#            
import cv2 as cv 
# 0        
capture = cv.VideoCapture(0)

while(True):
  #     
  #  1   ret(return value  )      ,             
  ret, frame = capture.read()
  #          
  gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)

  cv.imshow('frame', gray)
  if cv.waitKey(1) == ord('q'):
    break
カメラが捉えた画像:

カメラのプロパティ値を取得して変更します。
キャプチャされた解像度、明るさ、コントラストなどのカメラの属性は、capture.getによって取得することができる。propIdは0から18までの数字で、異なる属性を表しています。カメラのプロパティ値を変更するには、capture.setを使用することができます。例えば、私たちはwhileの前に次のコードを追加して、上の2倍の解像度の動画をキャプチャすることができます。

#         
# propId       ,    OpenCV     
width, height = capture.get(3), capture.get(4)
print(width, height)

#            
capture.set(cv.CAP_PROP_FRAME_WIDTH, width * 2)
capture.set(cv.CAP_PROP_FRAME_HEIGHT, height * 2)
キャプチャされた2倍の解像度は元の画像である:

ローカルビデオを再生
カメラを開くのと同じです。カメラの番号をビデオの経路に変えたら、ローカル動画を再生できます。cv.waitKey()を振り返ってみると、パラメータは一時停止時間を表していますので、この値が大きいほど、動画の再生速度が遅くなります。逆に、再生速度が速くなるほど、25または30に設定されています。

# opencv      
import cv2 as cv

capture = cv.VideoCapture('E:/1.mp4')

while(capture.isOpened()):
  ret, frame = capture.read()
  gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)

  cv.imshow('frame', gray)
  if cv.waitKey(30) == ord('q'):
    break
再生中のE:/1.mp 4:

ビデオを録画して保存します。
前に写真を保存するのはcv.imwrite()で、ビデオを保存するには、VideoWriterのオブジェクトを作成する必要があります。4つのパラメータが必要です。
1.出力するファイル名は'output.avi'のようです。
2.符号化方式FourCCコード
3.フレームレートFPS
4.保存する解像度の大きさ
FourCCは、ビデオ符号化方式を指定するための4バイトのコードである。MJPGコードのように、cv.VideoWriter_fourcc(*'MJPG')またはcv.VideoWriter_fourcc('M','J','P','G')

import cv2 as cv

capture = cv.VideoCapture(0)

#          VideoWriter  
fourcc = cv.VideoWriter_fourcc(*'MJPG')
outfile = cv.VideoWriter('output.avi', fourcc, 25., (640, 480))

while(capture.isOpened()):
  ret, frame = capture.read()

  if ret:
    outfile.write(frame) #     
    cv.imshow('frame', frame)
    if cv.waitKey(1) == ord('q'):
      break
  else:
    break
望み通りに現在の経路でoutput.aviを生成しました。

以上はpythonがopencvに基づいてカメラの詳しい内容を操作して、更にpython opencvに関してカメラの資料を操作して私達のその他の関連している文章に注意して下さい!