《物联网信息安全》实验指导书 - 图文 联系客服

发布时间 : 星期三 文章《物联网信息安全》实验指导书 - 图文更新完毕开始阅读1c084fe2f021dd36a32d7375a417866fb84ac0db

实验一 图像输入与输出基本操作(2学时) 实验二 基于DCT域的数字水印技术(2学时) 综合性实验 基于傅立叶域变换的数字水印技术(4学时)

实验前预备知识:

数字水印技术是利用数字产品普遍存在的冗余数据与随机性,将水印信息嵌入在数字产品本身中,从而起到保护数字产品版权或者完整性的一种技术。

现在学术界对数字水印算法的理解都是将一些不易察觉的具有随机特性的数据嵌入到图像频域或空域的系数上。从信号处理的角度看,嵌入水印可以看成是在强背景下迭加一个弱信号,由于人类视觉系统的分辨率受到一定的限制,只要迭加的信号幅度不超过HVS的对比门限,人眼就无法感觉到信号的存在,所以可以通过对原始图像进行一定调整,在不影响视觉效果的情况下嵌入一些水印信息。 数字水印系统的一般模型如图1所示:

图1 数字水印系统基本模型

水印嵌入器的输入量有三个:水印信号M,宿主信号S和密钥K。 水印信号M是指原始水印(图像或一个数字序列)通过一定的方法经过调制将嵌入到宿主信号中的数字信号。

宿主信号S是指被嵌入水印的信号(原始信号)。

密钥K则指用于提高水印系统安全性的密码信息,它独立于宿主信号。密钥有私有密钥和公共密钥之分,前者指攻击者在明确了水印嵌入方法但又不知道密钥的情况下,水印不会被破坏或盗取;后者是指攻击者对宿主信号(如内容标识、语言字幕等)不感兴趣的情况下,密钥也就不存在保密性,可以作为公共密钥。

实验一 图像输入与输出基本操作

一、实验题目:

图像输入与输出操作

二、实验目的

学习在MATLAB环境下对图像文件的I/O操作,为读取各种格式的图像文件

和后续进行图像处理打下基础。

三、实验内容

利用MATLAB为用户提供的专门函数从图像格式的文件中读/写图像数据、显示图像,以及查询图像文件的信息。 四、预备知识

熟悉MATLAB开发环境。

五、实验原理

(1)图像文件的读取

利用imread函数可以完成图像文件的读取操作。常用语法格式为: I=imread(‘filename’,‘fmt’)或I=imread(‘filename.fmt’);

其作用是将文件名用字符串filename表示的、扩展名用字符串fmt(表示图像文件格式)表示的图像文件中的数据读到矩阵I中。当filename中不包含任何路径信息时,imread会从当前工作目录中寻找并读取文件。要想读取指定路径中的图像,最简单的方法就是在filename中输入完整的或相对的地址。

MATLAB支

持多种图像文件格式的读、写和显示。因此参数fmt常用的可能值有:

‘bmp’ Windows位图格式 ‘jpg’or‘jpeg’ 联合图像专家组格式 ‘tif’or‘tiff’ 标志图像文件格式 ‘gif’ 图形交换格式 ‘pcx’ Windows画刷格式 ‘png’ 可移动网络图形格式 ‘xwd’ X Window Dump格式 例如,命令行 >>I=imread(‘lena.jpg’);

将JPEG图像lena读入图像矩阵I中。 (2) 图像文件的写入(保存)

利用imwrite完成图像的输出和保存操作,也完全支持也完全支持上述各种 图像文件的格式。其语法格式为:

imwrite(I,‘filename’,‘fmt’)或imwrite(I,‘filename.fmt’); 其中的I、filename和fmt的意义同上所述。

注意事项:当利用imwrite函数保存图像时,MATLAB默认的保存方式是将其简化为uint8的数据类型。与读取文件类型类似,MATLAB在文件保存时还支持16位的PNG和TIFF图像。所以,当用户保存这类文件时,MATLAB就将其存储在uint16中。 (3)图像文件的显示

图像的现实过程是将数字图像从一组离散数据还原为一幅可见图像的过程。 MATLAB的的图像处理工具箱提供了多种图像显示技术。例如imshow可以直接从文件显示多种图像;image函数可以将矩阵作为图像 ;colorbar函数可以用来显示颜色条;montage函数可以动态显示图像序列。这里仅对常用的显示函数进行介绍。

①图像的显示

imshow函数是最常用的显示各种图像的函数,其调用格式如下:

imshow(I,N);

imshow(I,N)用于显示灰度图像,其中I为灰度图像的数据矩阵,N为灰度级数目,默认值为256。

例如下面的语句用于显示一幅灰度图像: >> I=imread(‘lena.jpg’); >> imshow(I);

如果不希望在显示图像之前装载图像,那么可以使用以下格式直接进行图像

文件的显示:

imshow filename

其中,filename为要显示的图像文件的文件名。 实例1-1 显示一幅在当前目录下的.bmp格式的图像: >>imshow lena.jpg 显示结果如图1.1所示。