视频提取帧,保存帧,帧合并成视频

摘要:
最近,我做了火灾烟雾探测。我简单地将其分成四类,然后输入视频并输出是否发生火灾。因为我们做了分类而不是检测,所以我们直接分类并判断是否发生了火灾,所以我们将视频切割成单个帧进行识别,以判断是否发生火灾。我们在互联网上找到了代码。

最近做了一个关于火灾烟雾检测,简单的做成了4分类,然后输入视频,输出是否失火。

因为做的是分类,没做检测,直接分类判断是否失火,于是将视频切成单帧进行识别来判断是否失火,从网上找了一下这方面的代码。

# -*- coding: utf-8 -*- 
from PIL import Image
import cv2
import os

#将视频按帧切成图片
input_path = '100.mp4'
frame_path = 'save'
if not os.path.exists(frame_path):
    os.mkdir(frame_path)

cap = cv2.VideoCapture(input_path)

n_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))

for i in range(n_frames):
    ret, frame = cap.read()
    imgname ='{}_{}_{:0>6d}.jpg'.format(100, 100, i)
    imgpath = os.sep.join([frame_path, imgname])
    print('exported {}!'.format(imgpath))
    #画图,
    cv2.line(frame,(300,300),(600,600),(255,0,0),50)
    cv2.imwrite(imgpath, frame)
cap.release()   # 执行结束释放资源


#将图片合并成视频
img_root = 'save/'
fps = 30    #保存视频的FPS,

fourcc = cv2.VideoWriter_fourcc('D', 'I', 'V', 'X')
videoWriter = cv2.VideoWriter('E:\Personal\Desktop\test\pill\saveVideo.avi',fourcc,fps,(1920,1080))#最后一个是保存图片的尺寸
names = os.listdir(img_root)
print (names)
for name in names:
    frame = cv2.imread('E:\Personal\Desktop\test\pill\save\' + name )
    videoWriter.write(frame)
videoWriter.release()

免责声明:文章转载自《视频提取帧,保存帧,帧合并成视频》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【python系统学习09】while循环开源中文分词工具探析(四):THULAC下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

docsify制作在线说明文档的轻量级神器

我找到了一个使用html处理和加载md文件的网站。创建一个漂亮的在线描述文档(工件docsify)非常简单,nav可以删除--˃ENChinese加载window$docsify={el:'#main',//配置节点loadSidebar:true,//设置是否加载sidebarsubMaxLevel:2,//设置最大目录级别coverpage:true;/...

学习Python3 天眼查 爬虫

在开始学习Python时,我不想看基础知识,而且我的记忆力很差。我记不住那些语法,所以我直接去了这个项目。这是相当深刻的。刚好公司有情况需要检查企业的信息,所以我想成为一名爬虫。那些有验证码的人不愿意这样做。这是个大问题。我选择了天眼查,跳过检查过程,直接写下结果。总结的步骤如下:首先,天眼查最大的障碍是字体问题。本网站上有介绍,大致意思是网页上显示的一些字...

iview表格动态数据实现合并功能

需求原型:代码实现:html part:从'../../libs/c导入{MsgType,PublicType}...

winform窗体(六)——DataGridView控件及通过此控件中实现增删改查

“,”Delete Data“,btn)==DialogResult.Yes){}V.多条件查询。如果用户没有输入任何内容或文本框为空,则查询所有内容。//设置两个常量条件stringtj1=”1=1“;stringtj2=”1=1”;//根据用户的输入更改条件。//如果用户输入名称If(name!=”“){tj1=“Namelike@name“;}//如果...

一分钟制作U盘版BT3

一分钟生产BT3U磁盘版本方便、快捷、简单、无效且不可退款。BT3磁盘版本,大约694MB,可以直接烧录,然后用CD引导进入BT3。连接如下:http://ftp.heanet.ie/mirrors/backtrack/bt3-final.isoU磁盘版本Bt3,约783MB,连接为:http://cesium.di.uminho.pt/pub/backtr...

matlab中figure 创建图窗窗口

示例figure将f指定的图窗作为当前图窗,并将其显示在其他所有图窗的上面。figure;同时使用多个图窗创建两个图窗,然后创建一个线图。f1=figure;f2=figure;plot;将当前图窗设置为f1,使其成为下一个绘图的目标。figure;scatter;输入参数全部折叠f-目标图窗Figure对象目标图窗,指定为Figure对象。默认情况下,Nu...