利用opencv库使用Python将视频逐帧转为图片
做成型的语义分割软件需要,写了一个,在博客记录一下
import cv2
def video2pic(videoFile, outputFile):
vc = cv2.VideoCapture(videoFile)
c = 1
if vc.isOpened():
rval, frame = vc.read()
else:
print('error open video!')
rval = False
timeF = 100 # 帧率间隔
while rval:
print(1)
rval, frame = vc.read()
if c % timeF == 0:
print(2)
cv2.imwrite(outputFile + str(int(c / timeF)) + '.jpg', frame)
c += 1
cv2.waitKey(1)
vc.release()
if __name__ == '__main__':
videoFile = './test.mp4' # 输入路径
outputFile = './video2pic_res/frame' # 输出路径
video2pic(videoFile, outputFile)
利用opencv库使用Python将视频逐帧转为图片的更多相关文章
- Python小工具:利用ffmpy3库3秒钟将视频转换为音频
作者 | pk 哥 来源公众号 | Python知识圈(ID:PythonCircle) 最近,有读者微信上私聊我,想让我写一篇视频批量转换成音频的文章,我答应了,周末宅家里把这个小工具做出来了. 这 ...
- python 视频逐帧保存为图片
import cv2 import os def save_img(): video_path = r'F:\test\video1/' videos = os.listdir(video_path) ...
- python工具-将视频按帧截取图片(附代码)
描述:将一个视频流按帧数截取大量的图片 用途:AI的数据集制作,得到大量的图片,之后将其打标签 更改的地方 1.default--间隔的帧数 2.input/output--输入视频的路径.存放截 ...
- python提取视频第一帧图片
一.实现代码 # -*- coding: utf-8 -*- import cv2 from PIL import Image from io import BytesIO def tryTime(m ...
- 实战深度学习(上)OpenCV库
在如今人工智能的浪潮下,无数模拟机器学习和深度学习的开发者工具倍出,其中在计算机图形学和计算机视觉里面最流行的一个库就是OpenCV库了.计算机图形学和计算机视觉学在我们的自动驾驶和仿生机器人当中有着 ...
- python 从视频中提取图片,并保存在硬盘上
使用python的moviepy库来提取视频中的图片,按照视频每帧一个图片的方式来保存. extract images from video, than save them to disk from ...
- php学习笔记:利用gd库生成图片,并实现随机验证码
说明:一些基本的代码我都进行了注释,这里实现的验证码位数.需要用的字符串都可以再设置.有我的注释,大家应该很容易能看得懂. 基本思路: 1.用mt_rand()随机生成数字确定需要获取的字符串,对字符 ...
- python 读取文件夹下的图片进行处理
python的os模块中有一个listdir函数可以遍历读取文件夹下的文件. import os for filename in os.listdir(r"./file"): #l ...
- opencv图像处理时使用文件输入流ifstream批量读取图片
简介: 在利用opencv进行图像处理时,通常需要批量读取图片,然后做相应的处理,我们可以用C++文件的输入流来进行图片的读取,这要求我们应该事先,将图片图片名生成txt文件,具体请参见之前的博文[u ...
- php如何截取出视频中的指定帧作为图片
php如何截取出视频中的指定帧作为图片 一.总结 一句话总结:截取视频指定帧为图片,php ffmpeg扩展已经完美实现,并且php ffmpeg是开源的 二.php如何截取出视频中的指定帧作为图片 ...
随机推荐
- 让智慧物联赋能高效生产, AIRIOT助力数字化油田转型升级
近年来,中国石油行业为了推进工业化和信息化深度融合,充分结合勘探开发.生产科研和经营管理的实际需求,积极通过信息化建设促进油田业务转型升级.在勘探开发与管理的领域中,油气生产物联网系统是一个极其重 ...
- WPF,Frame控件的一个BUG
我使用WPF默认的frame <Frame Style="{DynamicResource FrameStyle1}" x:Name="frame" He ...
- go高并发之路——缓存击穿
缓存击穿,Redis中的某个热点key不存在或者过期,但是此时有大量的用户访问该key.比如xxx直播间优惠券抢购.xxx商品活动,这时候大量用户会在某个时间点一同访问该热点事件.但是可能由于某种原因 ...
- js RGB转HSV
function rgb2hsv (r,g,b) { var computedH = 0; var computedS = 0; var computedV = 0; //remove spaces ...
- 一些常用但是不好记的css样式
设置滚动条样式 /*定义滚动条宽高及背景,宽高分别对应横竖滚动条的尺寸*/ ::-webkit-scrollbar { width: 10px; /*对垂直流动条有效*/ height: 10px; ...
- WPF ListBox 控件绑定 Binding
当我们需要用到循环的列表内容,并且模板化程度高的时候,建议使用 ListBox 来做绑定.XAML: <Window.DataContext> <local:VMTempTest/& ...
- OpenCV笔记(5) Rect类
看项目代码时,发现了Rect的神奇用法,rect = rect + point.于是了解了一下Rect类. 1. 构造函数 public Rect(Point location, Size size) ...
- 大厂边缘组VS小厂核心组,要怎么选?
有问必答 最近有粉丝提问:大厂边缘组VS小厂核心组,怎么选? 这确实是个好问题,读者老爷们可以先问下自己:如果有一份月薪2W在大厂边缘组打螺丝的Offer且不加班,另外还有一份月薪2W5,在小厂核心组 ...
- 算法金 | 你真的完全理解 Logistic 回归算法了吗
大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 今日 178/10000 1. 引言 吴恩达:机器学习的六个核心算法!, 通透!!十大 ...
- uniapp 判断当前是保存还是修改操作
步骤分析: 首先得确定你进入表单后传入了id或者整个对象[这里使用id来进行讲解]其次就是两个请求:POST(保存的) 和 PUT(修改的)最后就是通过传入的id是否存在进行判断即可 POST 请求 ...