python图像/视频处理函数

import cv2
import os
import argparsefrom tqdm import tqdmdef show_video(path, fps=3):""" opencv显示视频,按q中断"""if not os.path.exists(path):raise Exception('video dont exists!')cap = cv2.VideoCapture(path)while(cap.isOpened()):ret, frame = cap.read()cv2.imshow('frame', frame)if cv2.waitKey(fps) & 0xFF == ord('q'):breakcap.release()cv2.destroyAllWindows()def video2img(input_path, out_path, save=True, show=True, time=3):# 参考博客:https://blog.csdn.net/qq_25436597/article/details/79621833''' 将读取的视频转化为图像并保存在out_path文件夹下params:input_path: 原始视频文件文件夹out_path:   保存的文件夹save:   是否需要保存show:   是否需要显示视频time:   视频显示帧率'''if not os.path.exists(input_path):raise Exception('video dont exists!')if not os.path.exists(out_path):os.makedirs(out_path)print('{} is not exists,will makedir {}'.format(out_path, out_path))i = 0cap = cv2.VideoCapture(input_path)ret, frame = cap.read()while(ret):ret, frame = cap.read()if save:# cv2.imwrite(frame,)img_name = str(i)+'.jpg'save_path = os.path.join(out_path, img_name)cv2.imwrite(save_path, frame)i += 1# gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)if show:cv2.imshow('frame', frame)if cv2.waitKey(time) & 0xFF == ord('q'):breakif save:print('save video to img in :{}!'.format(out_path))cap.release()cv2.destroyAllWindows()def img2video(input_path, out_path, fps=30, img_size=None, num_img=None):# 参考博客:https://theailearner.com/2018/10/15/creating-video-from-images-using-opencv-python/""" 将input_path文件夹下面的img变成视频.avi,保存在out_path文件下param:  input_path: 图像文件夹路径out_path:   输出视频文件fps:    输出视频的帧率img_size:   图像的大小,默认为Nonenum_img:    文件夹下面图像的数量,默认为None"""if not os.path.exists(input_path):raise Exception('img dir dont exists!')# if not os.path.exists(out_path):#     os.makedirs(out_path)#     print('{} is not exists,will makedir {}'.format(out_path,out_path))img_name_list = os.listdir(input_path)img_name_list.sort(key=lambda x: int(x.split('.')[0]))if not num_img:num_img = len(img_name_list)print('图像总数:{}'.format(num_img))if not img_size:# 读取第一张图片first_img_name = os.path.join(input_path, img_name_list[0])first_img = cv2.imread(first_img_name)img_h,img_w = first_img.shape[:2]  # [H,W,3]print('img_size:', img_size)# 转为视频# img_array = []# for img_name in img_name_list:#     img_path = os.path.join(input_path, img_name)#     img = cv2.imread(img_path)#     img_array.append(img)#     print(img_name)out = cv2.VideoWriter(out_path, cv2.VideoWriter_fourcc(*'DIVX'), fps, (img_w, img_h))   # 注意这里的size跟img_size是反过来的# 生成mp4格式# out = cv2.VideoWriter(out_path, cv2.VideoWriter_fourcc('m', 'p', '4', 'v'), fps, (img_w, img_h))   # 注意这里的size跟img_size是反过来的bar = tqdm(img_name_list)for img_name in bar:img_path = os.path.join(input_path, img_name)img = cv2.imread(img_path)out.write(img)out.release()if __name__ == "__main__":input_path = r'result/result_8'out_path = r'video/LW_Bbox_001.avi'img2video(input_path,out_path)# video2img# parser = argparse.ArgumentParser(description='video2img')# parser.add_argument('--input_path', type=str, default='video/test001.mp4',#                     help='path of video')# parser.add_argument('--out_path', type=str, default='img',#                     help='path of output img')# opt = parser.parse_args()# video2img(opt.input_path, opt.out_path)

python图像/视频处理函数相关推荐

  1. python图像视频处理_使用python处理图片和视频-----定义基础类

    思考了好几天,今天准备写一下关于图片和视频关联处理的工具,首先定义MyFile类,它代表了文件拥有的一般属性和方法,代码如下: import os import shutil import datet ...

  2. OpenCV计算机视觉学习(1)——图像基本操作(图像视频读取,ROI区域截取,常用cv函数解释)

    人工智能学习离不开实践的验证,推荐大家可以多在FlyAI-AI竞赛服务平台多参加训练和竞赛,以此来提升自己的能力.FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台.每周免费提供 ...

  3. Python基于Imagehash及OpenCV的图像视频数据媒资检索

    前言: 前段时间参加了一个关于图像视频检索的比赛,抽空总结一下思路,并在结尾附上参赛代码以及对应数据集. 链接:媒体融合创新创意大赛    比赛主链接    复赛名单链接 截至目前只公布了Top10, ...

  4. 【Python+OpenCV 图像透视变换 warpPerspective函数】

    Python+OpenCV 图像透视变换 warpPerspective函数 1.函数介绍 2.代码实例 3.实现效果 1.函数介绍 warpPerspective():对图像进行透视变换.简单来说, ...

  5. python怎么识别log函数_log函数图像_函数图像_python函数图像 - 云+社区 - 腾讯云

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 和 tanh 一样,它是反对称的.零中心.可微分的,值域在 -1 到 1 之间. ...

  6. python 图像和视频互相转换

    python 图像和视频互相转换 预备条件 视频转图像 图像转视频 完整代码 预备条件 创建两个文件夹,将视频放在video文件夹里 我拍的视频,视频链接 提取码:t1zj 视频转图像 import ...

  7. python调用函数指定次数_扣丁学堂Python在线视频之Python限制函数调用次数实例

    扣丁学堂Python在线视频之Python限制函数调用次数实例 2018-07-06 14:56:43 859浏览 本篇文章扣丁学堂 博客中指定的是缓存,我这里换成限制访问次数,异曲同工: #newt ...

  8. 如何用python画函数图像_使用python的pyplot绘制函数实例

    简介 本文主要介绍如何通过pyplot来绘制函数图.主要绘制函数如下: - 一元一次函数 - 一元二次函数 - 指数函数 - 自然对数函数 - 正弦函数 一元一次函数 代码 import matplo ...

  9. python opencv视频处理教程_OpenCV+Python详细教程-图片+视频(一)-Go语言中文社区...

    环境 Python3以上的版本+OpenCV+PyCharm 图片 目标 读入,显示,保存图像 对应的函数:cv2.imread(),cv2.imshow(),cv.imwrite() 1.1读取图像 ...

最新文章

  1. 万门69节入门python_Python入门六:字符串
  2. 如何增加Eclipse输出控制台的容量?
  3. linun——SElinux的简单理解
  4. html5 video全屏api,H5+ app使用多媒体(video、webview)API视频展示以及全屏
  5. 同学聚会 主持词_我主持freeCodeCamp聚会的三年来的成功和失败
  6. [Swustoj 24] Max Area
  7. 日志收集之nxlog
  8. vue3.0实现jsoneditor组件
  9. 物联网开发笔记(29)- 使用Micropython开发ESP32开发板之控制240x240的oled屏幕显示动态图片GIF(ST7789芯片)
  10. 树莓派红外火焰传感器
  11. 上周回顾:DNS漏洞被泄 华为辞职门再起风波
  12. react-native android 识别读取NFC卡信息
  13. linux安装jdk及配置
  14. w10不能访问网络计算机,今天解答win10无法访问局域网电脑的详尽解决举措
  15. [百度笔试]百度笔试大集锦
  16. (1) DPDK 简介
  17. weblogic BEA-170011
  18. win10计算机本地无法连接,win10系统电脑本地连接不见了解决方法
  19. 嵌入式设备启动过程(ARM )
  20. android pmem内存,android内存管理-ION/PMEM【转】

热门文章

  1. 数据库事务理论与实践-snapshot
  2. 探迹CRM深度融合钉钉PaaS,实现营销全流程智能化管理
  3. 实验课排课功能使用说明
  4. 图形引擎实战:移动端URP地形贴图融合与HBAO实现
  5. 业界常见的数据挖掘软件介绍
  6. Dojo图书的战争爆发了
  7. 健身教练月薪过万 北京持证仅1000人[组图
  8. 2021湖南高考成绩查询app,2021湖南高考成绩查询
  9. 学龄前儿童究竟在学什么?
  10. 墨者学院 - Bash漏洞分析溯源