【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');
相关推荐
MATLAB代码顾问1 小时前
差分进化算法(DE)原理与Python实现
开发语言·python·算法
曹牧1 小时前
Java:“Syntax error on token “do“, Identifier expected”
java·开发语言
geovindu1 小时前
go: Registry Pattern
开发语言·后端·设计模式·golang·注册模式
却道天凉_好个秋1 小时前
音视频学习(九十九):QP
音视频·qp
xyq20241 小时前
Swift 类
开发语言
赏金术士1 小时前
Kotlin 从入门到进阶 之异常与标准库(八)
android·开发语言·kotlin
Brilliantwxx1 小时前
【C++】认识 list(初步认识+模拟实现)
开发语言·数据结构·c++·笔记·算法·list
曹牧1 小时前
Java:数据载体
java·开发语言
赏金术士1 小时前
Kotlin 从入门到进阶 之基础语法模块(一)
开发语言·微信·kotlin