当前位置:编程学习 > C/C++ >>

视频帧置乱及逆置乱

%视频帧置乱,并显示。
%程序编制:lilizong@gmai.com
%2013-9-14
cd 'E:\Copyright\13年\soft4'
clc;
clear all;
aviobj=avifile('myAVI\myAVI');
aviobj.Quality=100;
aviobj.compression='None';
mov=mmreader('myAVI\mCircle.avi');     %用mmreader读入视频文件
%%%%生成混沌序列
l=linspace(0,0,mov.numberofframes);
l(1)=0.98;
for i=2:mov.numberofframes
    l(i)=1-2*l(i-1)*l(i-1);
end
[lsort,lindex]=sort(l);
%%%%%%%%%%%%%%生成混沌序列
%%%%%%%%%%%%%%获取置乱后的视频
for i=1:mov.numberofframes       %获得总帧数,并依次读取
    k=lindex(i);
    b=read(mov,k);
    aviobj=addframe(aviobj,b);
end
%%%%%%%%%%%%%%获取置乱后的视频
%%%%%嵌入停顿标记
for i=1:10
    b=imread('image/end.jpg');
    aviobj=addframe(aviobj,b);
end
aviobj=close(aviobj);
mplay('myAVI\myAVI.avi');
%视频逆置乱,并显示。
%程序编制:lilizong@gmai.com
%2013-9-14
cd 'E:\Copyright\13年\soft4'
clc;
clear all;
aviobj=avifile('myAVI\myAVI2');
aviobj.Quality=100;
aviobj.compression='None';
mov=mmreader('myAVI\myAVI.avi');     %用mmreader读入视频文件
%%%%生成混沌序列
l=linspace(0,0,mov.numberofframes-10);
l(1)=0.98;
for i=2:mov.numberofframes-10
    l(i)=1-2*l(i-1)*l(i-1);
end
[lsort,lindex]=sort(l);
%%%%%%%%%%%%%%生成混沌序列
%%%%%%%%%%%%%%获取置乱后的视频
[Vsort,Vindex]=sort(lindex);
for i=1:mov.numberofframes-10       %获得总帧数,并依次读取
    k=Vindex(i);
    b=read(mov,k);
    aviobj=addframe(aviobj,b);
end
for i=1:10
    b=imread('image/end.jpg');
    aviobj=addframe(aviobj,b);
end
aviobj=close(aviobj);
mplay('myAVI\myAVI2.avi');

 

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,