首先安装ffmpeg, 参考https://blog.csdn.net/lwgkzl/article/details/77836207

然后将视频切分为图片, 参考:https://zhuanlan.zhihu.com/p/31637663, 执行有错误, 可以用下面这个方法, 此方法可以供参考

参考https://blog.csdn.net/stone8761/article/details/35985107(用谷歌用谷歌!)

在做之后的步骤前,确保你在想要提取图片的视频文件的目录下。使用cd命令切换到正确的目录。教程中我使用的视频在我的桌面上,我用以下命令将目录切换到我的桌面。

cd /home/oltjano/Desktop

之后我使用以下命令从视频中提取图片。

ffmpeg -i "你是我的小呀小苹果儿.mp4" -r 1 -q:v 2 -f image2 image-3%d.jpeg

-i选项用来获取输入文件,在这里是视频文件名你是我的小呀小苹果儿.mp4,-r选项设置每秒提取图片的帧数。我想要每秒提取一帧。

之后有一个重要的选项是-q:v,应该留意这个选项并且我很喜欢用它,它用来设置提取到的图片质量。我总是设置值为2来从视频中获取高质量图片。

供参考的方法

有一些行车记录仪的视频,需要将其转换为单帧图片以供标注和神经网络学习。

ffmpeg安装很简单,略过不提。

视频全部为mp4格式,放在/home/ffmpeg-project目录下。

需要将其转换并存储在单独目录下,命名为ffout-【视频名】

先贴出最终脚本

#!/bin/bash
#Program:
# convert MP4 to jpg
#History:
#// raulxty@.com First release
PATH=/root/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export PATH filelist=$(find *.mp4)
OLDIFS="$IFS"
IFS=$"\n"
for filename in *.mp4
#$(find -iname *.mp4)
do
mkdir "ffout-${filename%.*}"
ffmpeg -i $filename /home/ffmpeg-project/"ffout-${filename%.*}"/%03d.jpg
done
IFS=$OLDIFS 运行方式是 [root@centos7 ffmpeg-project]# ./convert_mp4_to_jpg.sh
可能遇到的两个错误,若提示 -bash: ./convert_mp4_to_jpg.sh: Permission denied
解决方法 chmod convert_mp4_to_jpg.sh
若提示 -bash: ./convert_mp4_to_jpg.sh: /bin/bash^M: bad interpreter: No such file or directory
解决方法 sed -i 's/\r$//' convert_mp4_to_jpg.sh
编辑于 --
FFmpeg
Shell 编程开发
视频转换

正确的命令应该是 ffmpeg -i "Captain_America3test.mp4" -q:v -f image2 ./captainAmerica3/image-%d.jpeg

yolo源码解析(2):处理图片的更多相关文章

  1. 第三十六节,目标检测之yolo源码解析

    在一个月前,我就已经介绍了yolo目标检测的原理,后来也把tensorflow实现代码仔细看了一遍.但是由于这个暑假事情比较大,就一直搁浅了下来,趁今天有时间,就把源码解析一下.关于yolo目标检测的 ...

  2. yolo源码解析(一)

    原文:https://www.cnblogs.com/zyly/p/9534063.html yolo源码来源于网址:https://github.com/hizhangp/yolo_tensorfl ...

  3. yolo源码解析(3):视频检测流程

    代码在自己电脑中!!!!不在服务器 根据前文所说yolo代码逻辑: ├── examples │ ├── darknet.c(主程序) │ │── xxx1.c │ └── xxx2.c │ ├── ...

  4. yolo源码解析(1):代码逻辑

    一. 整体代码逻辑 yolo中源码分为三个部分,\example,\include,以及\src文件夹下都有源代码存在. 结构如下所示 ├── examples │ ├── darknet.c(主程序 ...

  5. yolo源码解析(三)

    七 测试网络 模型测试包含于test.py文件,Detector类的image_detector()函数用于检测目标. import os import cv2 import argparse imp ...

  6. yolo源码解析(二)

    五 读取数据pascal_voc.py文件解析 我们在YOLENet类中定义了两个占位符,一个是输入图片占位符,一个是图片对应的标签占位符,如下: #输入图片占位符 [NONE,image_size, ...

  7. yolo源码解析(3):进行简单跳帧

    视频检测命令  ./darknet detector demo cfg/coco.data cfg/yolov3-tiny.cfg yolov3-tiny.weights ../../dataset/ ...

  8. SDWebImage源码解析

    但凡经过几年移动开发经验的人去大公司面试,都会有公司问到,使用过哪些第三方,看过他们的源码嘛?而SDWebImage就是经常被面试官和应聘者的提到的.下面将讲述SDWebImage的源码解析以及实现原 ...

  9. 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新

    本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...

随机推荐

  1. UI组件之AdapterView及其子类(五)ListView组件和ListActivity

    ListView组件是一个显示组件,继承AdapterView基类,前面已经介绍了分别使用ArrayAdapter,SimpleAdapter,扩展BaseAdapter来为LisView提供列表项h ...

  2. VB.NET机房收费系统总结

    总感觉这次机房收费系统非常有份量,一直没有下手总结,从2014-7-27至2014-9-29.这中间有太多故事和成长.首先说一下两次机房收费系统的不同,它是我们从面向过程向面向对象的一个转变.在.NE ...

  3. Pocket英语语法---六、感官动词接不同的动词表示什么意思

    Pocket英语语法---六.感官动词接不同的动词表示什么意思 一.总结 一句话总结:其实进行时一般是表示连续,动词原形一般表示常态,过去分词一般表示被动(或者完成). 感官动词接原型表示动作的一般情 ...

  4. Python 加载数据

    1. numpy data = np.loadtxt('./data/txtdata.csv') ⇒ data 是 numpy.ndarray 类型

  5. Elasticsearch部署异常Permission denied

    异常描述 在Linux上部署ElasticSearch时抛出了一个异常如下: log4j:ERROR setFile(null,true) call failed. java.io.FileNotFo ...

  6. c# TextBox

    1. text内容全选事件 textBox1.selectAll(); 2.失去与获取焦点事件 textox1.LostFocus += new EventHandler(txt_LostFocus) ...

  7. .NET MVC Dropzone 上传图片

    在nuget控制台输入:Install-Package dropzone @{ Layout = null; } <!DOCTYPE html> <html> <head ...

  8. px 与 pt

    px:pixel,像素,屏幕上显示的最小单位,用于网页设计,直观方便: pt:point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用: em:即%,在CSS中,1em=100 ...

  9. 多帧图片转gif

    示例 工具photosh cc2017 1: 文件--> 脚本--> 将文件载入堆栈--> 选择文件-->勾选窗口的时间轴-->底部 从图层建立帧--> 设置时间延 ...

  10. 工作流Activiti学习地址

    http://blog.csdn.net/xnf1991/article/details/52610277