-
Notifications
You must be signed in to change notification settings - Fork 22
/
how_to_use_camera.py
54 lines (42 loc) · 1.44 KB
/
how_to_use_camera.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# 调用摄像头
# Author: coneypo
# Blog: http://www.cnblogs.com/AdaminXie
# GitHub: https://github.com/coneypo/Dlib_face_detection_from_camera
# Created at 2018-02-26
# Updated at 2018-10-09
import cv2
cap = cv2.VideoCapture(0)
# cap.set(propId, value)
# 设置视频参数,propId设置的视频参数,value设置的参数值
cap.set(3, 480)
# cap.isOpened()
# 返回 true/false 检查初始化是否成功
print(cap.isOpened())
# cap.read()
""" 返回两个值
先返回一个布尔值,如果视频读取正确,则为 True,如果错误,则为 False,也可用来判断是否到视频末尾
再返回一个值,为每一帧的图像,该值是一个三维矩阵
通用接收方法为:
ret,frame = cap.read();
这样 ret 存储布尔值,frame 存储图像
若使用一个变量来接收两个值,如
frame = cap.read()
则 frame 为一个元组,原来使用 frame 处需更改为 frame[1]
返回值:R1:布尔值
R2:图像的三维矩阵
"""
while cap.isOpened():
ret_flag, img_rd = cap.read()
cv2.imshow("camera", img_rd)
# 每帧数据延时1ms,延时为0读取的是静态帧
k = cv2.waitKey(1)
# 保存
if k == ord('s'):
cv2.imwrite("test.jpg", img_rd)
# 退出
if k == ord('q'):
break
# 释放所有摄像头
cap.release()
# 删除建立的所有窗口
cv2.destroyAllWindows()