目录:
(一)调用摄像头或打开视频文件代码实现
(二)说明和补充
(一)调用摄像头或打开视频文件代码实现
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