opencv如何实现调用摄像头并显示,读取视频文件并显示,保存视频等操作
1.调用摄像头并显示
使用OpenCV调用摄像头并显示,只需要几行代码就可以实现:
import cv2
cap = cv2.VideoCapture(0)
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
# Display the resulting frame
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
上面的代码中,cv2.VideoCapture(0)表示调用第一个摄像头,如果有多个摄像头,可以改成cv2.VideoCapture(1),表示调用第二个摄像头。cv2.imshow('frame',frame)表示将捕获的帧显示出来。
2.读取视频文件并显示
要读取视频文件并显示,可以使用如下代码:
import cv2
cap = cv2.VideoCapture('video.mp4')
while(cap.isOpened()):
ret, frame = cap.read()
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
上面的代码中,cv2.VideoCapture('video.mp4')表示读取视频文件,cap.isOpened()表示判断视频是否读取成功,cv2.imshow('frame',frame)表示将捕获的帧显示出来。
3.保存视频
要保存视频,可以使用如下代码:
import cv2
cap = cv2.VideoCapture('video.mp4')
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))
while(cap.isOpened()):
ret, frame = cap.read()
if ret==True:
out.write(frame)
上面的代码中,cv2.VideoWriter_fourcc(*'XVID')表示编码器,out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))表示将视频写入文件,out.write(frame)表示将每一帧写入文件。
猜您想看
-
提升宝塔面板网站访问速度的优化方法
1. 优化服务...
2024年05月30日 -
如何使用 CDN 实现应用的缓存和加速
使用CDN实现...
2023年07月20日 -
如何解决手机扬声器声音小问题
1. 检查音量...
2024年05月30日 -
如何在宝塔面板中进行静态资源合并?
如何在宝塔面板...
2023年04月17日 -
如何在宝塔中设置基础认证密码保护
Nginx代理...
2023年05月08日 -
大数据中梯度消失与梯度膨胀以及6种解决措施分别是什么
一、梯度消失与...
2023年05月22日