第一范文网 - 专业文章范例文档资料分享平台

洪苑玲-视频加密 - 图文

来源:用户分享 时间:2025/10/9 19:06:45 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

(5)分别取出矩阵D的第1,2,3列的后M*N个数据。

[a ,b]=size(R); for i=1:a

A(i,1)=D(i+n-a,1);

C(i,1)=D(i+n-a,2); %取矩阵D的后103041行作为保密序列 E(i,1)=D(i+n-a,3);

end

(6)将(5)得到的数据分别与经处理过的R,G,B分量的数据做加法。 R=uint8(rem(R+A,256));

G=uint8(rem(G+C,256)); B=uint8(rem(B+E,256));

(7)将(6)得到的数据还原成三维加密像素矩阵,写入并保存图像。 R1=reshape(R,321,321); G1=reshape(G,321,321);

B1=reshape(B,321,321);

F=cat(3,R1,G1,B1); %得到加密像素矩阵 strtemp=strcat('c:\\加密的图片\\',int2str(p),'.','bmp');

imwrite(F,strtemp) %写入图像 (8)将(7)得到的图像写入视频。

im=imread(['c:\\加密的图片\\', int2str(1) '.bmp']);

[imind,map2] = rgb2ind(im,256);

imwrite(imind,map2,'c:\\jiami.gif','gif','writeMode','overwrite','delay

time',0.1,'loopcount',Inf);

pic_Num=12; %根据要制作的图片数决定 for iter=2:pic_Num

im=imread(['c:\\加密的图片\\',int2str(iter) '.bmp']); [imind,map2] = rgb2ind(im,256);

imwrite(imind,map2,'c:\\jiami.gif','gif','writeMode','append','delay

time',1);

end

6

4. 基于超混沌Lorenz系统的视频解密算法 4.1 视频解密原理图

视频的解密过程是加密过程的逆运算。很据收发两端参数达到匹配并且同步后,选取参

8数?a,b,c,r??(10,,28,?1),初始值x0?{1.2157,3.0436,1.8573,2.9458},t?1040时,可将信号

3调制出来。视频解码如图所示:

读入加密后的彩色图像 将每张彩色图片的像素矩阵分为R、G、B三个分量 采用四阶龙格库塔算法产生混沌迭代序列D与R、G、B三个分量做减法 编码后的视频图片 编码前的视频图片

图3 系统的解码模型

4.2 视频解密算法

视频的解密过程具体操作如下:

(1)读入经过加密的彩色图像,将每张彩色图像的像素矩阵分为R、G、B三个分量。相关程序如下:

M=cell(1,12);

for p=1:12

imageName=strcat('c:\\加密的图片\\',num2str(p),'.bmp'); M{p} = imread(imageName);

R=M{p}(:,:,1); G=M{p}(:,:,2);

7

B=M{p}(:,:,3);

(2)设定Lorenz超混沌系统的初值x0,步长h,及运行时间t1。由四阶龙格库塔法算法产生迭代矩阵D。

D=zeros(n,4); for i=1:n

k1=xprim(t,x);

k2=xprim(t+h/2,x+(h/2)*k1); k3=xprim(t+h/2,x+(h/2)*k2); k4=xprim(t+h,x+h*k3);

k=h/6*(k1+2*k2+2*k3+k4); %4阶龙格库塔算法 t=t+h; x=x+k; D(i,:)=x; end

(3)Q?round(D),D?D?Q,D?abs(round(rem((D*1000),256)))。取矩阵D的小数部分,这样处理后得到的非负整数矩阵的元素值在0到255(包括0和255)上均匀分布。

Q=round(D);

D=Q-D;

D=abs(round(rem(D*1000,256)));

(4)分别取出矩阵D的第1,2,3列的后M*N个数据。 [a ,b]=size(R);

for i=1:a

A(i,1)=D(i+n-a,1); C(i,1)=D(i+n-a,2); E(i,1)=D(i+n-a,3);

end

8

(5)将(4)得到的数据分别与经处理过的R,G,B分量的数据做减法。

R=uint8(rem(R+256-A,256)); G=uint8(rem(G+256-C,256)); B=uint8(rem(B+256-E,256));

(6)将(5)得到的数据还原成三维解密像素矩阵,写入并保存图像。 R1=reshape(R,321,321); G1=reshape(G,321,321);

B1=reshape(B,321,321);

F=cat(3,R1,G1,B1); %得到解密像素矩阵 (7)将(6)得到的图像写入视频。

im=imread(['c:\\解密的图片\\', int2str(1) '.bmp']); [imind,map2] = rgb2ind(im,256);

imwrite(imind,map2,'c:\\jiemi.gif','gif','writeMode','overwrite','delayt

ime',0.1,'loopcount',Inf);

pic_Num=12; for iter=1:pic_Num

im=imread(['c:\\解密的图片\\',int2str(iter) '.bmp']); [imind,map2] = rgb2ind(im,256);

imwrite(imind,map2,'c:\\jiemi.gif','gif','writeMode','append','delay

time',1);

end

4.3视频的读出

本文重点处理了将加解密的图片转化成可视的视频。在此过程中,主要是读入一帧帧彩色图像,然后转换图片的类型格式,将所有图片做成一个整体结构一帧帧连续播放出来,形成最后的avi视频文件。

9

搜索更多关于: 洪苑玲-视频加密 - 图文 的文档
洪苑玲-视频加密 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1b6a10s8by2p7v440mi4_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top