在一些随机的位置嵌入噪声帧
来源:互联网 发布:下载淘宝app官方软件 编辑:程序博客网 时间:2024/05/17 01:54
嵌入噪声帧:
%在一些特定的位置添加一些噪声帧。%由混沌序列控制加入帧所在位置,并由其控制删除位置。%这里用的是随机噪声,可以使用自定义形式的图片等。%程序开发: lilizong@gmail.com%2013-9-19clc;clear all;aviobj=avifile('aviVideo\myAddFrame');aviobj.Quality=100;aviobj.compression='None';mov=mmreader('aviVideo\vipfly.avi'); %用mmreader读入视频文件 50帧mySize=read(mov,1);[m n]=size(mySize);nShort=n/3; %彩色图像的其中一帧%%%%%%%产生混沌序列,用于产生噪声帧%产生第1个混沌序列l=linspace(0,0,m*nShort);l(1)=0.98;for i=2:m*nShort l(i)=1-2*l(i-1)*l(i-1);end%转为二进制只包含0和1for i=1:m*nShort if l(i)>0 l(i)=1; else l(i)=0; endendcs1=reshape(l,m,nShort);%chaotic system1%产生第2个混沌序列l(1)=0.99;for i=2:m*nShort l(i)=1-2*l(i-1)*l(i-1);end%转为二进制只包含0和1for i=1:m*nShort if l(i)>0 l(i)=1; else l(i)=0; endendcs2=reshape(l,m,nShort);%chaotic system2%产生第3个混沌序列l(1)=0.92;for i=2:m*nShort l(i)=1-2*l(i-1)*l(i-1);end%转为二进制只包含0和1for i=1:m*nShort if l(i)>0 l(i)=1; else l(i)=0; endendcs3=reshape(l,m,nShort); %chaotic system3cs(:,:,1)=cs1;cs(:,:,2)=cs2;cs(:,:,3)=cs3;%%%%%%%产生混沌序列,用于产生噪声帧%%%%%%%产生混沌序列,用于控制位置location=linspace(0,0,mov.numberofframes);loc=location;location(1)=0.98;for i=2:mov.numberofframes location(i)=1-2*location(i-1)*location(i-1);endfor i=1:mov.numberofframes loc(i)=mod(location(i)*10000,20)+20; %产生[20 40]之间的随机数,帧数在这个范围内endloc=uint8(loc); %如果不转换只能嵌入一个,整数不能等于小数。%%%%%%%产生混沌序列,用于控制位置%%%%%%%%%%嵌入,%flag1用于控制当前嵌入的帧数在原有视频内的位置。%flag2用来保存当前总共嵌入的帧数%flag3用来保持当前嵌入帧,与上一个嵌入帧之间的距离,由loc决定%flag1=0;flag2=1;flag3=0;% flag4=mov.numberofframes; %需要遍历的次数,随着嵌入帧数的增加而增加% test=mov.numberofframes; 开始使用for i=1:flag4,不可以,for不支持变量%或者在 if flag3==loc(flag2)内添加i=i-1for i=1:100000 flag1=i-flag2+1; flag3=flag3+1; if flag3==loc(flag2) flag2=flag2+1; flag3=0;% flag4=flag4+1 aviobj=addframe(aviobj,cs); else if flag1>mov.numberofframes break; else b=read(mov,flag1); end aviobj=addframe(aviobj,b); endend%flag3用来保持当前嵌入帧,与上一个嵌入帧之间的距离,由loc决定aviobj=close(aviobj);mplay('aviVideo\myAddFrame.avi');
剔除噪声帧:
%在一些特定的位置删除一些噪声帧。%由混沌序列控制加入帧所在位置,并由其控制删除位置。%程序开发: lilizong@gmail.com%2013-9-19clc;clear all;aviobj=avifile('myAVI\myRemoveFrame');aviobj.Quality=100;aviobj.compression='None';mov=mmreader('aviVideo\myAddFrame.avi'); %用mmreader读入视频文件 50帧mySize=read(mov,1);[m n]=size(mySize);nShort=n/3; %彩色图像的其中一帧%%%%%%%产生混沌序列,用于控制位置location=linspace(0,0,mov.numberofframes);loc=location;location(1)=0.98;for i=2:mov.numberofframes location(i)=1-2*location(i-1)*location(i-1);endfor i=1:mov.numberofframes loc(i)=mod(location(i)*10000,20)+20; %产生[20 40]之间的随机数,帧数在这个范围内endloc=uint8(loc); %如果不转换只能嵌入一个,整数不能等于小数。%%%%%%%产生混沌序列,用于控制位置%%%%%%%%%%嵌入,%flag1用于控制当前嵌入的帧数在原有视频内的位置。%flag2用来保存当前总共嵌入的帧数%flag3用来保持当前嵌入帧,与上一个嵌入帧之间的距离,由loc决定%% flag1=0;flag2=1;flag3=0;for i=1:mov.numberofframes% flag1=i-flag2+1; flag3=flag3+1; if flag3==loc(flag2) flag2=flag2+1; flag3=0; else b=read(mov,i); aviobj=addframe(aviobj,b); endend%flag3用来保持当前嵌入帧,与上一个嵌入帧之间的距离,由loc决定aviobj=close(aviobj);mplay('myAVI\myRemoveFrame.avi');
- 在一些随机的位置嵌入噪声帧
- 白噪声的一些知识
- 嵌入JS应该放在什么位置
- 无线在对噪声的处理
- 随机函数的在Loadrunner中的一些的…
- 图像增强算法实现--图像的椒盐噪声、随机噪声、高斯噪声、均值滤波、中值滤波以及高斯滤波
- 面对稀疏噪声的有标签数据时如何改造通用词嵌入表示
- 一些告诉我们节点在节点树上位置的属性
- 如何用在自己的网页中嵌入腾讯视频网页播放器播放一些文件
- 图像处理之噪声之美 - 随机噪声产生
- 图像处理------噪声之美 - 随机噪声产生
- 设置控件的随机显示位置 setlayoutparams
- 设置控件的随机显示位置 setlayoutparams
- div内产生位置随机的图片
- 设置控件的随机显示位置 setlayoutparams
- 一些随机问题的解决办法
- 嵌入开发(WinCE)的一些经验2
- 嵌入开发(WinCE)的一些经验1
- 编程之美区间重合判断
- 编程之美1.1让CPU占用率曲线听你指挥之解法一细节
- 值得拥有
- STL中的vector
- 二叉树的非递归遍历
- 在一些随机的位置嵌入噪声帧
- 教你如何成为数据科学家(六)
- git 的安装和配置
- 为eCos安装扩展组件包
- java连接数据库
- 黑马程序员-集合
- hdu 4628 字符串状压dp
- Java的内存分配、数据类型
- 判断有符号和无符号的变量或类型[C/C++]