%% 2022-1-11,这里通过格式工厂将生成的视频和音频压在一起
clear all;
close all;
clc;
tic%% 处理图像video = VideoReader('E:\晴天\晴天.mp4'); %读取视频
Fps = video.NumberOfFrames; %获取视频帧数
pause(0.0001); %暂停
YN=input('请问你是否要自己规定帧数?______(y?n)\n','s');
s2='Yes';
Y_N=0;
Y_N=strncmpi(YN,s2,1);%在忽略字符串大小写前提下,比较前n个字符是否相等,如果相等
if Y_NFps=input('请输入你要截取的帧数:');
elseverify=input('将截取整个视频,时间可能过长,是否确认:______(y?n)\n','s');if ~(strncmpi(verify,s2,1))error('请重新运行一下!!!');end
end
clc;%% 创建文件夹format='jpg';
%h = figure('name','晴天');
% set(h,'Position',get(0,'ScreenSize'));%get(0,'ScreenSize')获得屏幕大小
% set(gcf,'Color',[1 1 1]);
%如果文件夹不存在,就创建文件夹,如果文件夹存在就清空文件夹
if ~exist('E:\晴天\晴天图像')mkdir('E:\晴天\晴天图像');
elsedelete E:\晴天\晴天图像\*.jpg
endif exist('E:\晴天\晴天图像\黑白','file')delete E:\晴天\晴天图像\黑白\*.jpg;
elsemkdir('E:\晴天\晴天图像\黑白')
end%% 查看总帧数的位数n=0;
site=Fps;
while (site>1|site==1)site=site/10;n=n+1;
end%% 写入图像for i = 1:Fpsmov = read(video,i); %读取视频的每一帧name = strcat('晴天',int2str(i),'.',format); %给每一帧命名imwrite(mov,['E:\晴天\晴天图像\',name]); %保存每一帧图像Color_Type=imfinfo(['E:\晴天\晴天图像\',name]).ColorType; %查看图像类型[I,map]=imread(['E:\晴天\晴天图像\',name]);if (Color_Type == 'truecolor') | (Color_Type =='grayscale')gray=im2gray(I);elseif Color_Type =='indexed'X=ind2gray(I,map);elsebreak;endname_1=num2str(i,['%0',int2str(n),'d']);name_2 = strcat('晴天黑白',name_1,'.',format);imwrite(gray,['E:\晴天\晴天图像\黑白\',name_2]);end%% 图像压成视频imPath = 'E:\晴天\晴天图像\黑白'; %定义文件路径
%检查图片文件路径是否存在
if isdir(imPath) == 0error('当前路径不存在');
end
%载入路径中的文件,dir ( ' . ' ) 列出当前目录下的所有子文件夹和子文件
Qt_fill = dir([imPath,filesep ,'*.', format]);
% filesep文件分隔符是分隔路径中各个文件夹和文件名的字符
Qt_num = size(Qt_fill,1); %图片数量
if Qt_num ==0error(strcat('没有',format,'文件'));
enddisp('正在运行,请稍后...');if exist('E:\晴天\晴天黑白','file')delete 晴天黑白.avi;
end
%获取图片参数
sunshine = VideoWriter('E:\晴天\晴天黑白.avi');
%{
writerObj = VideoWriter(filename,profile)
创建一个由profile指定类型的视频写入对象。
%}
sunshine.FrameRate = 30;%修改帧率
open(sunshine);
for i=1:Qt_numname_lyy= strcat(imPath,'\',Qt_fill(i).name);frame=imread(name_lyy);gray2=edge(frame,'Sobel');writeVideo(sunshine,double(gray2));
end
close(sunshine);
%%
disp('视频已保存 E:\晴天');
%% 提取视频中的音频
[input_file, Fs] = audioread('E:\晴天\晴天.mp4');
audiowrite('E:\晴天\晴天.WAV', input_file, Fs);
%%
toc
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!