视频与图像之间互转

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

一.视频转图像(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);




相关文章
|
6月前
|
人工智能 UED
DynamiCrafter:可实现任意类型静态图像转化为逼真动态视频
【2月更文挑战第17天】DynamiCrafter:可实现任意类型静态图像转化为逼真动态视频
346 1
DynamiCrafter:可实现任意类型静态图像转化为逼真动态视频
|
2月前
|
存储 并行计算 算法
基础的点云转换
对于点云处理而言,最简单也逃不过的就是点云转换了,我们就从点云转换开始,来一步步完成点云加速的学习。点云基础转换是3D点云处理中的一个重要步骤。它的主要目的是将点云从一个坐标系转换到另一个坐标系中,通常是为了方便后续处理或者显示。在实际应用中,点云基础转换通常包括平移、旋转、缩放等操作。这里对应了pcl::transformPointCloud这种方法 1. CUDA与Thrust 使用CUDA和Thrust进行点云基础转换可以大大提高处理效率,特别是当点云数据量较大时。CUDA是一种并行计算架构,可以利用GPU的计算能力来加速计算,而Thrust是CUDA的C++模板库,提供了许多与ST
|
4月前
|
JavaScript
交叉类型的主要用途是表示对象的合成
交叉类型的主要用途是表示对象的合成
27 0
|
6月前
|
中间件 数据格式
中间件数据格式文本与二进制之间的转换
中间件数据格式文本与二进制之间的转换
43 2
|
6月前
|
自然语言处理
数字与图像/自然语言之间的相互映射
数字与图像/自然语言之间的相互映射
|
6月前
|
存储 定位技术 Python
Python读取多个栅格文件并提取像元的各波段时间序列数据与变化值
Python读取多个栅格文件并提取像元的各波段时间序列数据与变化值
128 1
|
6月前
[Halcon&图像] 图像、区域和轮廓相互转化
[Halcon&图像] 图像、区域和轮廓相互转化
281 1
|
存储 编解码 对象存储
将图像标记器多边形转换为标记的块图像以进行语义分割
将存储在对象中的多边形标签转换为适用于语义分割工作流的标记阻止图像。 可以使用计算机视觉工具箱中的图像标记器应用来标记太大而无法放入内存和多分辨率图像的图像。有关详细信息,请参阅在图像标记器(计算机视觉工具箱)中标记大图像。图像标记器应用不支持对被阻止的图像进行像素标记。您只能使用 ROI 形状(如多边形、矩形和线条)创建标签。此示例演示如何使用函数将多边形 ROI 转换为像素标记的块图像,以进行语义分割工作流。
69 0
将图像标记器多边形转换为标记的块图像以进行语义分割
|
分布式计算 算法 异构计算
m基于FPGA的RGB转ycrcb颜色空间转换算法实现,包含testbench,对比三种转换方法
m基于FPGA的RGB转ycrcb颜色空间转换算法实现,包含testbench,对比三种转换方法
205 1
|
数据可视化 算法 Serverless
使用分水岭算法分割图像中相互接触的对象
使用分水岭分割来分离图像中相互接触的对象。分水岭变换通过将图像视为一个曲面,其中亮像素表示较高处,暗像素表示较低处,从而找出图像中的“汇水盆地”和“分水岭脊线”。
95 0
下一篇
无影云桌面