视频与图像之间互转

简介: 视频与图像之间互转

一.视频转图像(avi2img)


1.1 读取视频文件


1.2 获取视频总的帧数


1.3 若每一帧为彩色图片,转换为灰度图(可有可无)


1.4 存到指定地点


%将视频转换为单张图片
clear
clc
file_name = '.\input.avi';        %视频所在文件夹
obj = VideoReader(file_name);     %读取视频文件
numFrames = obj.NumberOfFrames;   %视频总的帧数 
for k = 1: numFrames
    frame = read(obj,k);
    %imshow(frame);                
    gray_frame = rgb2gray(frame); %若每一帧为彩色图片,转换为灰度图
    %imshow(frame);                %显示每一帧图片
    %保存每一帧图片
    imwrite(gray_frame,strcat('.\img\',num2str(k),'.jpg'),'jpg');
end



二.图像合成视频(img2avi)


2.1 读取所有jpg文件


2.2 获取图片总数


2.3 命名所转换成的视频名称 2.4 记录视频帧数 2.5 将单张图片存在avi文件


%将所有单帧图片转换为视频
DIR='D:\campus\';        %图片所在文件夹
file=dir(strcat(DIR,'*.jpg'));                %读取所有jpg文件
filenum=size(file,1);                         %图片总数
obj_gray = VideoWriter('highway_gray.avi');   %所转换成的视频名称
writerFrames = filenum;                       %视频帧数
%将单张图片存在avi文件
open(obj_gray);
for k = 1: writerFrames
    fname = strcat(DIR, num2str(k), '.jpg');
    frame = imread(fname);
    writeVideo(obj_gray, frame);
end
close(obj_gray);




相关文章
|
7月前
|
人工智能 UED
DynamiCrafter:可实现任意类型静态图像转化为逼真动态视频
【2月更文挑战第17天】DynamiCrafter:可实现任意类型静态图像转化为逼真动态视频
370 1
DynamiCrafter:可实现任意类型静态图像转化为逼真动态视频
|
3月前
|
存储 并行计算 算法
基础的点云转换
对于点云处理而言,最简单也逃不过的就是点云转换了,我们就从点云转换开始,来一步步完成点云加速的学习。点云基础转换是3D点云处理中的一个重要步骤。它的主要目的是将点云从一个坐标系转换到另一个坐标系中,通常是为了方便后续处理或者显示。在实际应用中,点云基础转换通常包括平移、旋转、缩放等操作。这里对应了pcl::transformPointCloud这种方法 1. CUDA与Thrust 使用CUDA和Thrust进行点云基础转换可以大大提高处理效率,特别是当点云数据量较大时。CUDA是一种并行计算架构,可以利用GPU的计算能力来加速计算,而Thrust是CUDA的C++模板库,提供了许多与ST
|
4月前
|
缓存 分布式计算 数据处理
|
7月前
|
中间件 数据格式
中间件数据格式文本与二进制之间的转换
中间件数据格式文本与二进制之间的转换
44 2
|
7月前
|
前端开发
文本转换
文本转换。
69 2
|
7月前
|
机器学习/深度学习 算法
独热编码的两种实现形式
独热编码的两种实现形式
110 1
|
JSON 数据格式
分割生成的24位深的彩图转换为8位深的彩图
分割生成的24位深的彩图转换为8位深的彩图
|
7月前
|
自然语言处理
数字与图像/自然语言之间的相互映射
数字与图像/自然语言之间的相互映射
|
7月前
|
自然语言处理
将向量提取器用于平行语料对齐的一个小示例
将向量提取器用于平行语料对齐的一个小示例
44 0
|
存储 编解码 对象存储
将图像标记器多边形转换为标记的块图像以进行语义分割
将存储在对象中的多边形标签转换为适用于语义分割工作流的标记阻止图像。 可以使用计算机视觉工具箱中的图像标记器应用来标记太大而无法放入内存和多分辨率图像的图像。有关详细信息,请参阅在图像标记器(计算机视觉工具箱)中标记大图像。图像标记器应用不支持对被阻止的图像进行像素标记。您只能使用 ROI 形状(如多边形、矩形和线条)创建标签。此示例演示如何使用函数将多边形 ROI 转换为像素标记的块图像,以进行语义分割工作流。
74 0
将图像标记器多边形转换为标记的块图像以进行语义分割