【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');
相关推荐
尼古拉斯-托尔斯泰-赵四2 小时前
Go 语言,你需要了解的一些规则
开发语言·后端·golang
阿图灵2 小时前
OpenCV 实用技巧三连:视频转图片、图片转视频、Pillow 与 OpenCV 互转
图像处理·python·opencv·计算机视觉·音视频·pillow
郝学胜-神的一滴2 小时前
C++20 高级编程 004:从初始化、内存到const系列关键字
开发语言·算法·编程·软件构建·c++20
雪芽蓝域zzs2 小时前
Vue3 + JS + pnpm 创建项目
开发语言·javascript·ecmascript
一晌小贪欢2 小时前
Python办公16:PDF 强力缝合——将几十个 PDF 合并为单个文档并添加页码
开发语言·python·excel·数据可视化·python办公
名剑走天下2 小时前
Kotlin_LiveData
开发语言·kotlin
迷迭香yy2 小时前
回测过拟合检测体系从样本内外到组合稳健性评估 IG50免费开源股票数据API接口
服务器·开发语言·数据库·人工智能·python
zmzb01032 小时前
C++课后习题训练记录Day199
开发语言·c++
Zane1994122 小时前
`ClassName()` 只是一步?拆开看 `__new__` 和 `__init__` 各自在干什么
开发语言·python