当前位置: 首页 > news >正文

imageio 图片转mp4 保存mp4

目录

安装:

imageio 图片转mp4

numpy 保存mp4


安装:

  FFMPEG:  pip install imageio[ffmpeg]
  pyav:  pip install imageio[pyav]

imageio 图片转mp4

import glob
import osimport cv2
import imageio
from natsort import natsortedfrom PIL import Image
import numpy as np
import orjsondef pic_2_mp4_dir(path):dir_root = r'E:\project\Grounded-SAM-2-main\obj_video\0'dir_save = r'E:\project\Grounded-SAM-2-main\obj_video'# dirs = glob.glob(dir_root + '/*/*')dirs=[r'E:\project\Grounded-SAM-2-main\obj_video\0']for dir_path in dirs:img_files = ['%s/%s' % (i[0].replace("\\", "/"), j) for i in os.walk(dir_path) for j in i[-1] if j.endswith(('obj.jpg', 'apng', 'ajpeg'))]print("len(img_files)", len(img_files), dir_path)img_files = natsorted(img_files)imgs = []for img_i, img_path in enumerate(img_files):print(img_path)output_image = Image.open(img_path)imgs.append(output_image)save_dir = dir_path.replace(dir_root, dir_save)os.makedirs(save_dir, exist_ok=True)imageio.mimsave(f'{save_dir}/pinjie.mp4', imgs, fps=6)
def pic_2_mp4(base_dir,save_path):img_files = ['%s/%s' % (i[0].replace("\\", "/"), j) for i in os.walk(base_dir) for j in i[-1] if j.endswith(('.jpg', 'apng', 'ajpeg'))]print("len(img_files)", len(img_files), base_dir)img_files = natsorted(img_files)imgs = []for img_i, img_path in enumerate(img_files):if img_i%10==0:print(img_i,img_path)output_image = Image.open(img_path)imgs.append(output_image)os.makedirs(os.path.dirname(save_path), exist_ok=True)imageio.mimsave(save_path, imgs, fps=25)if __name__ == '__main__':base_dir = r'F:\project\ronghe\data\see3d_inpaint\vis_see3d_inpaint\f2_1200_dir\pinjie'save_path = r'F:\project\ronghe\data\see3d_inpaint\vis_see3d_inpaint\f2_1200_dir\pinjie.mp4'pic_2_mp4(base_dir, save_path)

numpy 保存mp4

  save_video_path = os.path.join(out_dir, output_video_name)print("save_video_path = ", save_video_path, "; ", video_codec, ", ", fps, ", ", size, ", video_size = ", video_size)imgs=[]for i in tqdm(range(num_frames)):# Process imagedeg = i * interval_degimg = equ.GetPerspective(fov, deg, 0, *video_size)  # Specify parameters(FOV, theta, phi, height, width)if margin > 0:img = img[margin:-margin]img = np.clip(img, 0, 255).astype(np.uint8)img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)imgs.append(Image.fromarray(img))imageio.mimsave(save_video_path, imgs, fps=fps,macro_block_size=None)


http://www.mrgr.cn/news/82817.html

相关文章:

  • LED背光驱动芯片RT9293应用电路
  • 排序算法的实现(插入,希尔,选择,冒泡,堆排,快排)
  • 学习threejs,导入AWD格式的模型
  • 66.基于SpringBoot + Vue实现的前后端分离-律师事务所案件管理系统(项目 + 论文)
  • RabbitMQ端口操作
  • macOS 安装 python3.11
  • 【FTP 协议】FTP主动模式
  • 【TextIn—智能文档解析与DocFlow票据AI自动化处理:赋能企业文档数字化管理与数据治理的双重利器】
  • 【学Rust开发CAD】1 环境搭建
  • WebRtc02: WebRtc架构、目录结构、运行机制
  • unity3d-搞个场景漫游如何实现Alpha
  • Java内存模型与线程
  • 《异步编程之美》— 全栈修仙《Java 8 CompletableFuture 对比 ES6 Promise 以及Spring @Async》
  • 2024年AI图像生成热门模型回顾
  • 苍穹外卖 项目记录 day03
  • Requests聚焦爬虫-数据解析
  • 服务器双网卡NCCL通过交换机通信
  • 【学Rust开发CAD】2 创建第一个工作空间、项目及库
  • 【SpringSecurity】二、自定义页面前后端分离
  • 鸿蒙APP之从开发到发布的一点心得
  • 前端实现大文件上传(文件分片、文件hash、并发上传、断点续传、进度监控和错误处理,含nodejs)
  • 每日AIGC最新进展(80): 重庆大学提出多角色视频生成方法、Adobe提出大视角变化下的人类视频生成、字节跳动提出快速虚拟头像生成方法
  • 医学图像分析工具01:FreeSurfer || Recon -all 全流程MRI皮质表面重建
  • ISP图像调优流程
  • Unity中 Xlua使用整理(一)
  • 数组和指针