毕业设计计算机视觉课程设计图像置乱的设计及实现.docx
- 文档编号:12633803
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:19
- 大小:375.45KB
毕业设计计算机视觉课程设计图像置乱的设计及实现.docx
《毕业设计计算机视觉课程设计图像置乱的设计及实现.docx》由会员分享,可在线阅读,更多相关《毕业设计计算机视觉课程设计图像置乱的设计及实现.docx(19页珍藏版)》请在冰豆网上搜索。
毕业设计计算机视觉课程设计图像置乱的设计及实现
课程设计说明书
题目:
图像置乱的设计与实现
学院(系):
电气工程学院
年级专业:
12级精仪一班
电气工程学院《课程设计》任务书
课程名称:
计算机视觉
学号
120103020055
学生姓名
陈永秀
(专业)班级
精仪1班
设计题目
图像置乱的设计及实现*
设
计
技
术
参
数
要求通过数学方法将图像置乱(包括位置置乱和数值置乱),将图像进行置乱处理,并能将置乱后的图像恢复出来。
设
计
要
求
(1)利用Matalb软件编写相关程序;
(2)要求至少用两种方法实现图像的置乱并进行恢复,比较不同置乱的结果并进行分析;
(3)思考图像置乱的应用价值和意义;
(4)撰写课程设计报告,报告内容应包含选定的算法的基本原理和工作过程,程序流程和本人的主要工作;报告其他内容详见模板。
参
考
资
料
课程教材
《数字图像处理Matlab版》RafaelC.Gonzalez著,阮秋琦等译
《精通MatlabGUI设计第三版》陈垚光等著
MATLAB软件相关参考书
校园网图书馆期刊网论文资料
周次
前半周
后半周
应
完
成
内
容
明确任务分工、搜集资料,总体设计,编写程序;
调试程序、撰写报告,准备答辩用PPT;
指导教
师签字
基层教学单位主任签字
说明:
1、此表一式四份,系、指导教师、学生各一份,报送院教务科一份。
2、学生那份任务书要求装订到课程设计报告前面。
电气工程学院教务科
摘要
随着多媒体技术、信息存储技术的飞速发展,以及网络带宽限制的放松,越来越多的图像得以在网络上传输,并逐步成为人们获取信息的主要手段。
网络上传输的图像有些无关紧要,有些却至关重要,这其中有可能涉及到个人隐私、公司利益、军事机密、国家安全,其价值无法衡量。
另一方面,Internet网络的日益普及使得任何人都有可能接触并搜集到网络中的图像信息,而不管它是善意的还是恶意的、合法的还是非法的,从而使得在网络上传输的图像安全倍受关注,字图像的安全已经成为信息安全领域中重要的研究分支,而置乱技术在图像加密技术中起着不可忽视的作用。
一般从客观景物得到的图像是二维的。
一幅图像可以用二维函数f(x,y)来表示,也可看作是一个二维数组,x和y表示二维空间XY中一个坐标点的位置,而f则代表图像在点(x,y)的某种性质F的数值。
例如常用的图像一般是灰度图像,此时f表示灰度值,它常对应客观景物被观察到的亮度。
需要指出,一般是根据图像内不同位置的不同性质来利用图像的。
本文为你重点介绍了图像置乱的原理,并介绍了两种基本的置换方法,分别是:
基于变换矩阵的图像置乱法、基于Arnold变换的图像置乱方法,教你如何对你的图像进行加密,并对数字图像置乱程度进行测评,同时对未来可能的研究方向进行了展望。
选择了MATLAB作为软件工具,所给出的程序代码均在其上测试通过。
关键词:
MATLAB、图像置乱技术、二维坐标变换、Arnold变换、置乱度
目录
摘要I
第一章引言1
第二章基于变换矩阵的图像置乱2
2.1二维坐标置乱2
2.1.1加密原理2
2.1.2解密原理3
2.2二维坐标置乱的分析4
第三章基于Arnold变换基础上的置乱5
3.1变换原理5
3.2Arnold变换的周期性7
3.2.1Arnold变换式周期性定理7
3.3基于Arnold变换的图像恢复9
3.4基于Arnold变换的分析10
第四章本文总结与展望11
参考文献12
第一章引言
图像置乱技术属于图像加密技术,它通过对图像像素矩阵的重排,破坏了图像矩阵的相关性,以此实现信息的加密,达到安全传输图像的目的。
图像置乱的实质是破坏相邻像素点间的相关性,使图像“面目全非”,看上去如同一幅没有意义的噪声图像。
单纯使用位置空间的变换来置乱图像,像素的灰度值不会改变,直方图不变,只是几何位置发生了变换。
置乱算法的实现过程可以看做是构造映射的过程,该映射是原图的置乱图像的一一映射,如果重复使用此映射,就构成了多次迭代置乱。
目前研究使用较多的置乱变换主要有:
Arnold变换、Fibonacci与Fibonacci-Q变换、幻方变换、正交拉丁方变换、Hilbert曲线变换、Gray码变换、仿射变换、混沌置乱变换等。
Arnold变换是俄国数学家VladimirI.Arnold在研究遍历理论时提出的一种置乱变换,邹建成等人对Arnold变换进行了深入的研究,给出了多种改进的置乱算法,得出一系列有用的结论,主要在于:
讨论了平面上Arnold变换的周期性,计算了不同阶数N下Arnold变换的周期;把Arnold变换应用于数字图像置乱,对位置空间和彩色空间做了实验测试:
把二维Arnold变换推广到了三维空间嘲:
给出了一般的非线性模变换有周期性的充分必要条件,讨论了平面上Arnold变换的周期性问题,给出了判别周期的一组必要条件,从理论上对Arnold变换的周期性有了更深的认识;将Arnold变换推广到高维,给出了高维变换具有周期性的充分必要条件,并讨论了该变换的置乱效果。
Gray码变换是一种数论变换,它可以用于二进制数据的纠错与校验。
丁伟等讨论如何给出Gray码的矩阵定义形式并将之推广并讨论如何利用Gray码变换进行数字图像置乱。
本文为你重点介绍了图像置乱的原理,并介绍了两种基本的置换方法,分别是:
基于变换矩阵的图像置乱、基于Arnold变换的图像置乱,教你如何对你的图像进行加密,并对数字图像置乱程度进行测评,同时对未来可能的研究方向进行了展望。
选择了MATLAB作为软件工具,所给出的程序代码均在其上测试通过。
第二章基于变换矩阵的图像置乱
2.1二维坐标置乱
我们一般处理的图片都是平面图片,即所谓的二维图片。
二维数字图像可以看作是平面区域
上的二元函数
。
在绝大多数情况下区域D是一个矩形,对D中任意的点
表示其像素点的位置,而
代表图像的信息(灰度图像是灰度值,彩色图像是RGB分量值等)。
当图像数字化之后,图像
则对应于数学中的一个矩阵,其元素所在的行与列
对应于自变量取值,数字图像离散化后是相应于元素之间有相关性的一类特别的矩阵。
通过数学中矩阵的初等变换可以将图像转换为另一幅图像,从而达到置乱的目的,但其置乱作用较差,因为初等变换是整行或整列进行变换,并不是对矩阵中每个点进行变换。
而一些非线性变换则有可能对图像置乱起到较好的作用。
现介绍目前几种常见的图像置乱方法。
2.1.1加密原理
将图形分解成二维坐标上的一个个点的组合,用G(i,j)(i=1,2,...M,j=1,2...,N)表示各个点,然后通过一个方程将有序的点置乱,置乱的点组合起来的图便是加密后的图。
G(i,j)为原图各点,G1(i,j)为加密图各点,用方程G1(i,j)=0.1*G(i,j)+0.9*Gadd(i,j)(对原来的点进行加权求和)得到G1(i,j),再将其按顺序输出,记得到置乱后的图像。
用MATLAB实现图像置乱的程序如下:
G=imread('D:
\Miss256G.bmp');
subplot(1,3,1)
imshow(G)
title('原图')
Gadd=fix(256*rand(256,256,3));
fori=1:
256
forj=1:
256
G(i,j)=0.1*G(i,j)+0.9*Gadd(i,j);%进行加权求和
end
end
subplot(1,3,2)
imshow(G);%显示图像
title('置乱后的图像')
结果如下:
2.1.2解密原理
将置乱后的点G1(i,j)通过与原来方程的逆运算,得到G2(i,j),并将其组合起来,即得到恢复后的图像。
恢复图像程序如下:
G=imread('D:
\Miss256G.bmp');
subplot(1,3,1)
imshow(G)
title('原图')
Gadd=fix(256*rand(256,256,3));
fori=1:
256
forj=1:
256
G1(i,j)=0.1*G(i,j)+0.9*Gadd(i,j);%进行加权求和
end
end
subplot(1,3,2)
imshow(G1);%显示图像
title('置乱后的图像')
fori=1:
256
forj=1:
256
G2(i,j)=(G1(i,j)-0.9*Gadd(i,j))./0.1;%进行加权求和
end
end
subplot(1,3,3)
imshow(G2);%显示图像
title('复原后的图像')
结果如下:
结果分析:
经过逆运算,置乱的图像又恢复到跟原图一样。
事实上我们也可以理解为G2(i,j)=G(i,j),所以恢复后的图像跟原图一样
2.2二维坐标置乱的分析
此方法方法原理简单,容易实现,运算量小,但同时存在以下部分不足:
(1)置乱后的图像不够加密,置乱度不够高;
(2)方程变换过于简单,容易找到逆运算,安全性不高;
第三章基于Arnold变换基础上的置乱
3.1变换原理
Arnold变换又称猫脸变换,设想在平面单位正方形内绘制一个猫脸图像,通过下述变换,猫脸图像将由清晰变的模糊。
矩阵表示即为:
(3.1.1)
是图像中
的像素变换后的新的位置。
反复进行此变换,即可得到置乱的图像。
图像的二维Arnold变换,实现像素位置的置乱,所以经过Arnold变换处理的图像,其灰度直方图与原图一样。
下面以256×256的图像进行1次、192次置乱之后的图像,在192次置乱后,又回到原始图像
图3.1置换次数不同的图
用MATLAB实现Arnold变换的程序如下:
G=imread('D:
\Miss256G.bmp');
w0=double(G)/255;
[m,n]=size(w0);
w1=w0;
subplot(1,3,1)
imshow(w1,[]);
title('原图')
fork=1:
1%置换1次
forx=1:
m
fory=1:
n
x1=x+y;
y1=x+2*y;
ifx1>m
x1=mod(x1,m);
end
ify1>n
y1=mod(y1,n);
end
ifx1==0
x1=m;
end
ify1==0
y1=n;
end
w1(x1,y1)=w0(x,y);
end
end
w0=w1;
end
subplot(1,3,2)
imshow(w1,[]);
title('置换1次')
w0=double(G)/255;
[m,n]=size(w0);
w2=w0;
fork=1:
192%置换192次
forx=1:
m
fory=1:
n
x1=x+y;
y1=x+2*y;
ifx1>m
x1=mod(x1,m);
end
ify1>n
y1=mod(y1,n);
end
ifx1==0
x1=m;
end
ify1==0
y1=n;
end
w1(x1,y1)=w0(x,y);
end
end
w0=w1;
end
subplot(1,3,3)
imshow(w2,[]);
title('置换192次')
3.2Arnold变换的周期性
对于数字图像来说,可以将其看成是一个函数在离散网格点处的采样值,这样我们就得到了一个表示图像的矩阵.矩阵中元素的值是对应点处的灰度值。
对于正方形数字图像,我们的离散化的Arnold变换式(3.1.1),其中N为图像的宽度和高度,即图像矩阵的阶数。
数字图像经过Arnold变换后,变得混乱不堪,继续使用Arnold变换若干次后,会呈现与原图一样的图片,说明Arnold变换具有周期性。
置乱变换的周期性变换性质,对于研究图像的恢复有积极的作用。
3.2.1Arnold变换式周期性定理
给定自然数
,Arnold变换式的周期
是使式(3.2.1)成立的最小自然数
:
(3.2.1)
此定理的证明此处不再详细描述。
由定理3.2.1可以得出以下推论:
给定自然数
Arnold变换式(3.1.1)的周期
,是使式(3.2.2)成立的最小自然数
:
(3.2.2)
其中
,N是图像矩阵的阶数。
由于Arnold变换具有周期性,不同大小的图像经过一定的迭代变换就可以恢复到原始图像。
Arnold变换之所以成为一种得到广泛应用的置乱算法,是因为Arnold变换具有周期性,如果重复的进行Arnold变换,经过一定的次数之后必然会还原出原始图像。
Arnold变换的周期性与图像的大小有关系,但是不成正比。
如大小为128×128的图像的Arnold变换的周期为96,大小为240×240的图像的Arnold变换的周期为60。
下图为Arnold变换周期和图像尺寸关系图
图3.2Arnold变换周期和图像尺寸关系图
表3.2.1是不同阶数下的图像迭代恢复到原始图像的周期
。
表3.2.1各种大小为
的图像的二维Arnold变换周期
3.3基于Arnold变换的图像恢复
Arnold变换具有周期性,当迭代到某一步时,将重复得到原始图像。
传统的Arnold变换的图像恢复是利用Arnold变换的周期性。
由图3.3可使256×256的renwu图像进行置乱与恢复(表3.2.1可得图像大小为256×256的周期为192)。
图3.3Arnold置乱的图像恢复
观察表3.2.1,Arnold变换的周期与图像大小相关,但并不成正比关系。
例如,对于128×128的数字图像,它的置乱周期为96,即原图要经过96次Arnold变换之后才能恢复原图。
如果原图已经经过了30次Arnold置乱,那么,只需再进行(96-30)次即66次Arnold变换,便可恢复原图;对于已经置乱了200次的图像,要想恢复原图,需要变换的次数为96-(200mod96)=88。
利用周期性进行置乱恢复,方法简单、便于理解和实现。
但是必须知道图像的大小,才能计算出Arnold变换的周期。
用MATLAB实现Arnold变换图像的复原程序如下:
G=imread('D:
\Miss256G.bmp');
w0=double(G)/255;
[m,n]=size(w0);
w1=w0;
subplot(1,2,1)
imshow(w1,[]);
title('原图')
fork=1:
192%置换192次
forx=1:
m
fory=1:
n
x1=x+y;
y1=x+2*y;
ifx1>m
x1=mod(x1,m);
end
ify1>n
y1=mod(y1,n);
end
ifx1==0
x1=m;
end
ify1==0
y1=n;
end
w1(x1,y1)=w0(x,y);
end
end
w0=w1;
end
subplot(1,2,2)
imshow(w1,[]);
title('置换192次')
3.4基于Arnold变换的分析
从结果上看,Arnold方法简单、容易实现,在不同迭代次数下,图像相似度较小,置乱效果较好,图形已经被置乱得面目全非,无法看出原始图像的端倪,且用corr2()函数来检测矩阵的相似程度;发现置乱后的图像相似
,经192次置换后的图像
。
但该方法具有周期性,变换次数在一定的范围内与置乱程度成正比,但到一个周期结束时会恢复出原始图像。
所以有以下缺点:
(1)在图像置乱过程中使用的矩阵形式是固定的、复杂度不够,容易被破解。
(2)图像的隐秘性只能依赖于置乱的次数,安全性仍需加强。
(3)运算量大而且求逆变换困难。
第四章本文总结与展望
其中二维坐标置乱法,原理简单,容易实现,但加密过于简单,容易被解密,却置乱效果不是很好;Arnold置乱方式实现容易,置乱效果较好,但由于在图像置乱过程中使用的矩阵形式是固定的,图像的隐秘性只能依赖于置乱的次数,安全性仍需加强;但是问题仍然存在,如果非法破译者不在乎恢复运算可能要花费的巨大计算时间,那么他就可以恢复出原始图像。
所以我们还必须考虑,在置乱过程的每一步都通过添加其它操作,来增加非法破译的复杂度。
因此,本文在实用性方面还有许多需要改善的地方,从而进一步提高置乱算法在各方面的性能。
今后数字图像置乱技术的研究方向将侧重于完善图像置乱理论,提高置乱算
法的安全性、稳健性,研究其在实际网络中的应用,建立相关标准等。
参考文献
[1]韩明、王家宝、李林,数学实验,上海:
同济大学出版社,2012.1
[2]何正风,Matlab在数学方面的应用,北京:
清华大学出版社,2012.1
[3]王薇等,MATLAB从基础到精通,北京:
电子工业出版社,2012.5
[4]matlab论坛
[5].丁玮,囝伟齐,齐东旭基于置乱与融合的数字图像隐藏技术及应用中国图像图形学报2000。
[6]丁玮,固伟齐,齐东旭基于Arnold变换的数字图像置乱技术计算机辅助设计与图形学学报2001。
燕山大学课程设计评审意见表
指导教师评语:
①该生学习态度(认真较认真不认真)
②该生迟到、早退现象(有无)
③该生依赖他人进行设计情况(有无)
平时成绩:
2016年12月25日
报告及ppt制作成绩:
答辩小组评语:
①设计巧妙,实现设计要求,并有所创新。
②设计合理,实现设计要求。
③实现了大部分设计要求。
④没有完成设计要求,或者只实现了一小部分的设计要求。
答辩成绩:
2016年12月25日
课程设计总成绩:
答辩小组成员签字:
陈永秀
2016年12月25日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 计算机 视觉 课程设计 图像 设计 实现