1. 程式人生 > 程式設計 >python呼叫攝像頭的示例程式碼

python呼叫攝像頭的示例程式碼

一、開啟攝像頭

import cv2
import numpy as np

def video_demo():
  capture = cv2.VideoCapture(0)#0為電腦內建攝像頭
  while(True):
    ret,frame = capture.read()#攝像頭讀取,ret為是否成功開啟攝像頭,true,false。 frame為視訊的每一幀影象
    frame = cv2.flip(frame,1)#攝像頭是和人對立的,將影象左右調換回來正常顯示。
    cv2.imshow("video",frame)
    c = cv2.waitKey(50)
    if c == 27:
      break
video_demo()
cv2.destroyAllWindows()

二、開啟攝像頭並截圖

import cv2
cap = cv2.VideoCapture(0,cv2.CAP_DSHOW) # 開啟攝像頭

while (1):
  # get a frame
  ret,frame = cap.read()
  frame = cv2.flip(frame,1) # 攝像頭是和人對立的,將影象左右調換回來正常顯示
  # show a frame
  cv2.imshow("capture",frame) # 生成攝像頭視窗

  if cv2.waitKey(1) & 0xFF == ord('q'): # 如果按下q 就截圖儲存並退出
    cv2.imwrite("test.png",frame) # 儲存路徑
    break

cap.release()
cv2.destroyAllWindows()

三、開啟攝像頭並不斷實時截圖

def video_demo():
  print('開始')
  cap = cv2.VideoCapture(0,cv2.CAP_DSHOW) # 電腦自身攝像頭
  i = 0#定時裝置初始值
  photoname = 1#檔名序號初始值

  while True:
    i = i + 1
    reg,frame = cap.read()
    frame = cv2.flip(frame,1) # 圖片左右調換
    cv2.imshow('window',frame)

    if i == 50: # 定時裝置,定時截圖,可以修改。

      filename = str(photoname) + '.png' # filename為影象名字,將photoname作為編號命名儲存的截圖
      cv2.imwrite('C:/Users/Administrator/Desktop/m' + '\\' + filename,frame) # 截圖 前面為放在桌面的路徑 frame為此時的影象
      print(filename + '儲存成功') # 列印儲存成功
      i = 0 # 清零

      photoname = photoname + 1
      if photoname >= 20: # 最多截圖20張 然後退出(如果呼叫photoname = 1 不用break為不斷覆蓋圖片)
        # photoname = 1
        break
    if cv2.waitKey(1) & 0xff == ord('q'):
      break
  # 釋放資源
  cap.release()

video_demo()
cv2.destroyAllWindows()

以上就是python呼叫攝像頭的示例程式碼的詳細內容,更多關於python呼叫攝像頭的資料請關注我們其它相關文章!