基础知识
# cap.set(propId, value) # 设置视频参数: propId - 设置的视频参数, value - 设置的参数值 # cap.isOpened() 返回 true/false, 检查摄像头初始化是否成功 # cap.read() """ 返回两个值 先返回一个布尔值, 如果视频读取正确, 则为 True, 如果错误, 则为 False; 也可用来判断是否到视频末尾; 再返回一个值, 为每一帧的图像, 该值是一个三维矩阵; 通用接收方法为: ret,frame = cap.read(); ret: 布尔值; frame: 图像的三维矩阵; 这样 ret 存储布尔值, frame 存储图像; 若使用一个变量来接收两个值, 如: frame = cap.read() 则 frame 为一个元组, 原来使用 frame 处需更改为 frame[1] """ #cv2.waitKey(1) 读取按键,每帧数据延时 1ms, 延时为0, 读取的是静态帧 #cv2.imwrite("test.jpg", img_camera)保存图像 #释放摄像头 cap.release()
#销毁窗口 cv2.destroyAllWindows()
1、代码案例
# coding = utf-8 import cv2 import os import shutil def useCamera(): # 获取摄像头 capture = cv2.VideoCapture(0) capture.set(3, 480) while capture.isOpened(): # 摄像头打开,读取图像 flag, image = capture.read() cv2.imshow("image", image) k = cv2.waitKey(1) if k == ord('s'): cv2.imwrite("test.jpg", image) elif k == ord("q"): break # 释放摄像头 capture.release() # 关闭所有窗口 cv2.destroyAllWindows() if __name__ == '__main__': useCamera()
完毕!