视频帧置乱

来源:互联网 发布:淘宝卖家会员名怎么改 编辑:程序博客网 时间:2024/05/18 01:13

视频帧置乱例题,使用matlab实现。

采用混沌系统对视频帧的顺序进行置乱。

分别显示了原始序列帧:数字0到9顺序播放。

帧置乱视频:数字0到9,无规律播放

逆置乱结果:数字0到9顺次播放。

代码如下:

%设计人:lilizong(at)Gmail%设计时间:修改时间:2017.3.26%视频帧置乱,并显示。clc;clear all;aviobj=VideoWriter('myAVI\myAVI');open(aviobj);%%%%嵌入停顿标记,开始标记%%%%%%%%%% for i=1:10%     b=imread('number/begin.bmp');%     writeVideo(aviobj,b);% end%%%%嵌入停顿标记,开始标记%%%%%%%%%%%%%%%%%读取数字0到9,构成一个小视频%%%%%%%for i=0:9    fname=strcat('number\',int2str(i),'.bmp');   %连接这些帧    Vdata=imread(fname);    writeVideo(aviobj,Vdata);    subplot(1,1,1);imshow(Vdata);    pause(0.01);end%%%%%%%%读取数字0到9,构成一个小视频%%%%%%%close(aviobj);%%%%%%%%%%%%%%生成混沌序列%%%%%%%%%%%%%%%%%l=linspace(0,0,10);l(1)=0.98;for i=2:9    l(i)=1-2*l(i-1)*l(i-1);end[lsort,lindex]=sort(l);%%%%%%%%%%%%%%生成混沌序列%%%%%%%%%%%%%%%%%%%%%嵌入停顿标记,嵌入逆置乱标记%%%%%%%%%%%%for i=1:10    b=imread('number/s.bmp');    %     writeVideo(aviobj,b);    subplot(1,1,1);imshow(b);    pause(0.01);end%%%%嵌入停顿标记,嵌入逆置乱标记%%%%%%%%%%%%mov=VideoReader('myAVI\myAVI.avi');aviobj2=VideoWriter('myAVI\myAVI2');open(aviobj2);%%%%%%%%%%%%%%获取置乱后的视频%%%%%%%%%%%%%%for i=1:10       %获得总帧数,并依次读取    k=lindex(i);    b=read(mov,k);    writeVideo(aviobj2,b);    subplot(1,1,1);imshow(b);    pause(0.01);end%%%%%%%%%%%%%%获取置乱后的视频%%%%%%%%%%%%%%%%%%嵌入停顿标记,嵌入逆置乱标记%%%%%%%%%%%%for i=1:10    b=imread('number/r.bmp');%     writeVideo(aviobj,b);    subplot(1,1,1);imshow(b);    pause(0.01);end%%%%嵌入停顿标记,嵌入逆置乱标记%%%%%%%%%%%%close(aviobj2);% close(aviobj);% mplay('myAVI\myAVI.avi');mov2=VideoReader('myAVI\myAVI2.avi');aviobj3=VideoWriter('myAVI\myAVI3');open(aviobj3);[Vsort,Vindex]=sort(lindex);for i=1:10       %获得总帧数,并依次读取    k=Vindex(i);    b=read(mov2,k);    writeVideo(aviobj3,b);    subplot(1,1,1);imshow(b);    pause(0.01);end%%%%嵌入停顿标记,嵌入逆置乱标记%%%%%%%%%%%%% for i=1:10%     b=imread('number/r.bmp');%     writeVideo(aviobj,b);% end%%%%嵌入停顿标记,嵌入逆置乱标记%%%%%%%%%%%%close(aviobj3);% mplay('myAVI\myAVI.avi');% mplay('myAVI\myAVI2.avi');num1=VideoReader('myAVI\myAVI.avi');num2=VideoReader('myAVI\myAVI2.avi');num3=VideoReader('myAVI\myAVI3.avi');sum=VideoWriter('myAVI\myAVIsum');open(sum);for i=1:1    b=imread('number/begin.bmp');writeVideo(sum,b);endfor i=1:num1.numberofframes  %获得总帧数,并依次读取    I=read(num1,i);%读取图片;     writeVideo(sum,I);endfor i=1:1    b=imread('number/s.bmp');writeVideo(sum,b);endfor i=1:num2.numberofframes  %获得总帧数,并依次读取    I=read(num2,i);%读取图片;     writeVideo(sum,I);endfor i=1:1    b=imread('number/r.bmp');writeVideo(sum,b);endfor i=1:num2.numberofframes  %获得总帧数,并依次读取    I=read(num3,i);%读取图片;     writeVideo(sum,I);endfor i=1:1    b=imread('number/end.bmp');writeVideo(sum,b);endclose(sum);mplay('myAVI\myAVIsum.avi');


0 0
原创粉丝点击