本文主要是介绍视频帧置乱及逆置乱,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
视频帧置乱:
%视频帧置乱,并显示。
%程序编制: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.numberofframesl(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:10b=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-10l(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:10b=imread('image/end.jpg');aviobj=addframe(aviobj,b);
end
aviobj=close(aviobj);
mplay('myAVI\myAVI2.avi');
这篇关于视频帧置乱及逆置乱的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!