【MATLAB】生成视频code(用于显示器画质测试)

这里写目录标题

    • [1. 两张图片来回切换](#1. 两张图片来回切换)

1. 两张图片来回切换

matlab 复制代码
clc;clear;
dbstop if error
%% 生成两张图片来回切换的视频

% 图片参数设定
V=2160;%↓
H=3840;%→
%第1张图片
IMG1=zeros(V,H,3, 'uint8');      %如果不写'uint8',图片灰度范围[0,1]
box_v_precent=0.50;%v窗口大小
box_h_precent=0.50;%h窗口大小
box_v_st=fix(V/2)-fix(V*box_v_precent*0.5);
box_v_end=fix(V/2)+fix(V*box_v_precent*0.5)-1;
box_v=box_v_end-box_v_st+1;
box_h_st=fix(H/2)-fix(H*box_h_precent*0.5);
box_h_end=fix(H/2)+fix(H*box_h_precent*0.5)-1;
box_h=box_h_end-box_h_st+1;
for i=box_v_st:box_v_end
    for j=box_h_st:box_h_end
        IMG1(i,j,1)=255;
        IMG1(i,j,2)=255;    %生成窗口图片
        IMG1(i,j,3)=255;
    end
end
%第2张图片
IMG2=zeros(V,H,3, 'uint8');      %如果不写'uint8',图片灰度范围[0,1]
IMG2=IMG2+255;

%视频参数设定
Path='.\';% 输出视频路径
Freq=60;
time_Sec=10;
Frame_total=Freq*time_Sec;
myVideo = VideoWriter('TwoImgSwitchByFrame','MPEG-4');
myVideo.FrameRate=60;
%myVideo.Quality=100;
open(myVideo);
for k=1:Frame_total3
    odd=mod(k,2);
    if odd==1
     writeVideo(myVideo, IMG1);
    else
      writeVideo(myVideo, IMG2);
    end
end
% for k=1:Frame_total/2
% 
%      writeVideo(myVideo, IMG1);%只要依次写入视频就可,不一定在一个for循环
% 
% end
% for k=1:Frame_total/2
%       writeVideo(myVideo, IMG2);
% end

close(myVideo);

disp('Wirte_Finish');

生成视频测试code

matlab 复制代码
clear ;close all;clc;
dbstop if error
% 把视频里每一帧存为单独的图片
fileName = 'TwoImgSwitchByFrame.mp4'; 
obj = VideoReader(fileName);
numFrames = obj.NumberOfFrames;% 帧的总数
for k = 1 : numFrames% 读取数据
     frame = read(obj,k);
     %imshow(frame);%显示帧
     imwrite(frame,strcat('.\frame\',num2str(k),'.bmp'),'bmp');% 保存帧
end

disp('Wirte_Finish');
相关推荐
微学AI11 小时前
一根针指向所有方向:挂谷猜想对 LLM Agent 技能-记忆架构的启示
开发语言·人工智能·架构·挂谷猜想
豆瓣鸡12 小时前
算法日记 - Day3
java·开发语言·算法
韭菜炒鸡肝天12 小时前
VTK开发笔记(一):VTK介绍,Qt..+VSx+VTK.编译
开发语言·笔记·qt
Aaron - Wistron13 小时前
Web API C# (Furion版)带 单元测试
开发语言·后端·c#
Dxy123931021614 小时前
Python项目打包成EXE完整教程(PyInstaller实战避坑)
开发语言·python
05664615 小时前
Python康复训练——常用标准库
开发语言·python·学习
weixin_4952484015 小时前
短剧视频翻译配音指南:古装、甜宠与悬疑如何本地化?
音视频
骊城英雄15 小时前
基于C#+avalonia ui实现的跨平台点胶机灌胶监控控制上位机软件
开发语言·ui·c#
吾儿良辰15 小时前
一个被BCL遗忘的高性能集合:C# CircularBuffer<T>深度解析
开发语言·windows·c#
昆曲之源_娄江河畔15 小时前
Python如何安装flask, pymssql
开发语言·python·flask·pymssql