目录:
(二)说明和补充
(一)调用摄像头或打开视频文件代码实现
1 # -*- coding=GBK -*-
2 import cv2 as cv
3
4
5 #打开摄像头获取图片
6 def video_demo():
7 capture = cv.VideoCapture(0)#打开摄像头,0代表的是设备id,如果有多个摄像头,可以设置其他数值
8 while True:
9 ret, frame = capture.read() #读取摄像头,它能返回两个参数,第一个参数是bool型的ret,其值为True或False,代表有没有读到图片;第二个参数是frame,是当前截取一帧的图片
10 frame = cv.flip(frame, 1)#翻转 等于0:逆时针180度旋转, 大于0:正常 ,小于0上下颠倒
11 cv.imshow("video", frame)
12 if cv.waitKey(10) & 0xFF == ord('q'): #键盘输入q退出窗口,不按q点击关闭会一直关不掉 也可以设置成其他键。
13 break
14
15
16 video_demo()
17 cv.destroyAllWindows()
(二)代码实现说明和补充
1. c = cv.waitKey(40) if c == 27 和cv.waitKey(10) & 0xFF == ord('q') 两者之一是必须要否则会报错,c == 27 时是用esc关闭的 ,点窗口的×是不能关闭视频窗口的。
2.函数:VideoCapture(0)
打开摄像头,0代表的是设备id,如果有多个摄像头,可以设置其他数值
也可以是视频文件地址,调用视频文件,如果要播放要设置帧的循环
3.函数:read()
读取摄像头,它能返回两个参数,第一个参数是bool型的ret,其值为True或False,代表有没有读到图片;第二个参数是frame,是当前截取一帧的图片
4. 函数:frame = cv.flip(frame, 1)
表示翻转
等于0:逆时针180度旋转,
大于0:正常 ,
小于0上下颠倒
参考:
https://blog.csdn.net/u011321546/article/details/79516505