opencv 实现类行车记录仪,笔记
【代码】opencv 实现类行车记录仪,笔记。
·
#!/anaconda3/envs/FEALPy/bin python3.8
# -*- coding: utf-8 -*-
# ---使用opencv 模拟行车记录仪。潜在应用:事件触发,自动保存事故发生后的视频文件
# @Software: PyCharm
# @File: video_save.py
# @Site:
# @Time: Apr 25, 2023
# ---
import cv2
import time
video_time = int(input("请输入录像视频的长度(单位:秒):"))
cap = cv2.VideoCapture(0)
# 获取视频播放界面的长宽
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
# 定义编码器,创建对象
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
# 文件输出名字
output = cv2.VideoWriter('output-' + str(int(time.time())) + 'mp4', fourcc, 24, (width, height))
# 记录开始的时间
start_time = time.time()
# 开始录制
while(cap.isOpened() and (cv2.waitKey(1) & 0xff != ord('q'))):
#判断是否需要分割视频文件,时间阈值
if time.time() - start_time >= video_time:
output.release()
output = cv2.VideoWriter('output-' + str(time.strftime('%Y%m%d%H%M%S')) + '.mp4', fourcc, 24, (width, height))
# 重新记录开始的时间
start_time = time.time()
#读取摄像头每一帧
ret, frame = cap.read()
if ret == True:
cv2.imshow("frame", frame)
output.write(frame)
else:
break
#释放资源
output.release()
cap.release()
cv2.destroyAllWindows()
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)