【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');
相关推荐
白露与泡影16 分钟前
2026大厂Java面试题大全!牛客网最新版
java·开发语言
凯瑟琳.奥古斯特18 分钟前
高阶子查询题目精炼
开发语言·数据库·python·职场和发展·数据库开发
雪度娃娃36 分钟前
转向现代C++——在意为改写的函数添加 override
开发语言·c++
喵星人工作室2 小时前
C++火影忍者1.1.2
开发语言·c++
basketball6162 小时前
C++ 中的 ptrdiff_t 详解
开发语言·c++
月亮邮递员6162 小时前
Markdown语法总结
开发语言·前端·javascript
printfLILEI2 小时前
php中的类与对象以及反序列化
linux·开发语言·php
曹牧2 小时前
C#:主线程能够捕获到子线程中的异常
开发语言·数据库·c#
代码中介商2 小时前
深入解析STL中的stack、queue与priority_queue
开发语言·c++
彦为君3 小时前
JavaSE-07-异常机制
java·开发语言·后端·python·spring