
点击上方蓝字关注我!
PYTHON
教你用python操作摄像头及视频流处理
● ○ ●
Teach You How to Operate the Camera and Video Streaming in Python
● ○ ●
❉❉❉❉❉❉❉❉❉❉
视频录制
cap = cv2.VideoCapture(0)
<VideoCaputrue object> = cv2.VideoCapture(filename)
功能:打开视频文件;
参数filename:视频文件名。
<VideoCaputrue object> = cv2.VideoCapture(index)
功能:打开相机设备;
参数index:相机设备ID,当只有一个相机时,给0即可。
out = cv2.VideoWriter('video_record.avi', codec, fps, frameSize)
import cv2cap = cv2.VideoCapture(0)if cap.isOpened():ret,frame = cap.read()cv2.imshow('frame',frame)cv2.waitKey(3000)cap.release()cv2.destroyAllWindows()


视频的编解码格式
codec = cv2.VideoWriter_fourcc(*'MJPG')

fps = 30.0frameSize = (640, 480)
out = cv2.VideoWriter('video.avi', codec, fps, frameSize)

视频录制演示完整代码
out.write(frame)
cap.release()out.release()
import numpy as npimport cv2cap = cv2.VideoCapture(0)codec = cv2.VideoWriter_fourcc(*'MJPG')fps = 20.0frameSize = (640, 480)out = cv2.VideoWriter('video.avi', codec, fps, frameSize)print("按键Q-结束视频录制")while(cap.isOpened()):ret, frame = cap.read()if ret==True:out.write(frame)cv2.imshow('frame',frame)if cv2.waitKey(1) == ord('q'):breakelse:breakcap.release()out.release()cv2.destroyAllWindows()

视频读取函数介绍及实现
cap = cv2.VideoCapture('video.avi')
<VideoWriter object> = cv.VideoWriter( filename, fourcc, fps, frameSize[, isColor] )
filename:
给要保存的视频起个名字;
fourcc:
指定视频编解码器的4字节代码;
fps:
帧率;
frameSize:
帧大小。
import numpy as npimport cv2cap = cv2.VideoCapture('video.avi')while(True):ret, frame = cap.read()if ret:cv2.imshow('frame',frame)else:print("视频读取完毕或者视频路径异常")breakif cv2.waitKey(25) & 0xFF == ord('q'):breakcap.release()cv2.destroyAllWindows()



视频特定帧的读取
import cv2cap = cv2.VideoCapture("video.avi")c = 1frameRate = 20while(True):ret, frame = cap.read()if ret:if(c % frameRate == 0):print("开始截取视频第:" + str(c) + " 帧")cv2.imwrite("./capture_image/" + str(c) + '.jpg', frame)c += 1cv2.waitKey(0)else:print("所有帧都已经保存完成")breakcap.release()



摄像头读取失败-问题排查
驱动问题 有的摄像头可能存在驱动问题,需要安装相关驱动,或者查看摄像头是否具有UAC免驱协议。
USB接口兼容性问题 USB2.0接口接了一个USB3.0的摄像头,也是不支持的(这只针对用 USB 连接摄像头的,用笔记本自带的摄像头可忽略)。
设备挂载问题 摄像头没有被挂载,如果是虚拟机需要手动勾选设备。
硬件问题 在就是检查一下USB线跟电脑USB接口。
视频压缩格式的问题 部分视频压缩格式在OpenCV中不支持。

总结

♡♡♡♡♡♡♡♡♡♡
— 往期回顾 —
python风格代码荟萃
2020.10.02

2020.09.30

2020.09.28

长按、识别、关注

『关注我 阅读原文 精彩无限』
您看此文用
·

秒,转发只需1秒呦~

文章转载自做一个柔情的程序猿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




