0

我是 MATLAB 新手。我正在尝试在 MATLAB 中加密视频文件。我加密了视频的单个帧。我正在使用 MATLAB 7.10.0 (R2010a) ,这就是我使用“mmreader”功能的原因。但现在我不知道如何将所有加密帧重新组合成一个新视频。这是我的代码,

vid = mmreader('videoSampl.avi');
numFrame = vid.NumberOfframes;

for i = 1:2:3
   frame = read(vid, i);
   gray = rgb2gray(frame);
   n = numel(gray);
   plaintext = reshape(gray, n, 1);
   cipherImg = cipher (plaintext, w, s_box, poly_mat, 1);
   re_plaintext = inv_cipher (cipherImg, plaintext, w, inv_s_box, inv_poly_mat, 1);
   img = reshape(cipherImg, 128, 128);
   imwrite(img,['videoaes/encrypted/image' int2str(i), '.jpg']);
   imgP = reshape(re_plaintext, 128, 128);
   imwrite(imgP,['videoaes/decrypted/Dimage' int2str(i), '.jpg']);
   im(i)=image(frames);
end

我有两个加密和解密的文件夹,我想再次将这些文件夹转换为 avi 视频。

4

1 回答 1

-2

这是从您的加密图像转换视频的代码

ImagesFolder=uigetdir;
jpegFiles = dir(strcat(ImagesFolder,'\*.png'));
S = [jpegFiles(:).datenum]; 
[S,S] = sort(S);
jpegFilesS =jpegFiles(S);
VideoFile=strcat(ImagesFolder,'\MyVideo');writerObj=VideoWriter(VideoFile);
fps= 10; writerObj.FrameRate = fps;
open(writerObj);
fort=1:length(jpegFilesS)Frame=imread(strcat(ImagesFolder,'\',jpegFilesS(t).name))writeVideo(writerObj,im2frame(Frame))endclose(writerObj;
于 2015-03-06T10:19:49.030 回答