视频帧置乱及逆置乱
%视频帧置乱,并显示。 %程序编制: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++ ,