Python+Opencv调用USB接口摄像头

环境:python3.6,opencv4.4.0 

代码实现功能:调用USB接口的摄像头;读取其中一帧内容并保存本地。

程序如下:

import cv2
def read_show():

    cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)
    fourcc = cv2.VideoWriter_fourcc(*'XVID')
    out = cv2.VideoWriter(
'output.avi', fourcc, 25, (640,480))
    index =
1
   
while(cap.isOpened()):
        ret
, frame = cap.read()
        out.write(frame)
        cv2.imshow(
'自定义, frame)
        k = cv2.waitKey(
0) & 0xFF
       
if k == ord("q"):
           
break
        elif
k == ord('s'):
            cv2.imwrite(
'自定义保存路径+图片命名' + str(index) + ".jpg", frame)
            index +=
1
   
cap.release()
    cv2.destroyAllWindows()

if __name__ == '__main__':
    read_show()

 主要代码介绍:

(1)cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)

通过参数0,1,2调用摄像头,也可以填写路径调用本地存储视频,后面的语句是对cv2的重置。

 (2)fourcc = cv2.VideoWriter_fourcc(*'XVID')

 (3)out = cv2.VideoWriter('output.avi', fourcc, 25, (640,480))

程序展示的是.avi格式视频的导入 ,25为FPS帧率,(640,480)为视频尺寸。不同格式视频导入略有差异,如:.mp4格式对应*‘mp4v’、‘output.mp4’;.flv格式对应*‘flv1’、‘output.flv’。

(4)  ret, frame = cap.read()

  (5)  out.write(frame)

获取摄像头的画面,ret与frame是返回值,作用分别为:ret值决定了是否继续调用,布尔值;frame类似于实际的显示内容,后面可以将frame内容用cv2.imshow进行窗口显示。

 (6)if k == ord("q"):

 (7)elif k == ord('s'):

用if判断语句实现退出和保存功能,按q键退出;按s键将该帧画面保存本地指定路径。 

你可能感兴趣的:(opencv,python,pycharm)