**
一、调用摄像头并输出画面
**
代码如下
import cv2 as cv
def video_demo():
capture = cv.VideoCapture(0)# 打开摄像头,0代表的是设备id,如果有多个摄像头,可以设置其他数值
while (True):#实现无限循环,保证read()函数能一帧一帧读取视频图像
ret, frame = capture.read()#读取摄像头,它能返回两个参数,第一个参数是bool型的ret,其值为True或False,代表有没有读到图片;第二个参数是frame,是当前截取一帧的图片
frame = cv.flip(frame, 1)# flip():图像翻转函数 第二个参数 小于0: 180°旋转,等于0: 上下颠倒,大于0: 水平颠倒(镜像图)
cv.imshow("image", frame)
c = cv.waitKey(5)
if c == 27:#按esc关闭窗口
break
#if cv.waitKey(10) & 0xFF == ord('q'):
# break #键盘输入q退出窗口,不按q点击关闭会一直关不掉 也可以设置成其他键。
video_demo()
cv.waitKey(0);
cv.destroyAllWindows()
二、输出视频文件
代码如下
def video_demo():
cv.namedWindow("video", 0)
cv.resizeWindow("video", 1000, 600) # 设置播放窗口长和宽
while True:
ret, frame = capture.read() # 读取下一帧
cv.imshow("video", frame) # 显示目前帧
cv.waitKey(1) # 设置延迟,便于观看体验
# if cv.waitKey(10) & 0xFF == ord('q'):
# break
if cv.waitKey(5) == 27:
break
ret, frame = capture.read() # 读取下一帧
capture.release()#对内容进行释放
video_demo()
cv.destroyAllWindows()