信息隐藏 实验四 二值图像信息隐藏

合集下载

信息隐藏算法实验报告

信息隐藏算法实验报告

一、实验背景信息隐藏技术是一种在传输或存储过程中将隐秘信息隐藏在特定载体中,以保证隐秘信息安全性的技术。

随着信息技术的不断发展,信息隐藏技术在军事、通信、网络安全等领域具有广泛的应用前景。

本实验旨在验证信息隐藏算法在文本信息隐藏中的应用效果,并分析不同算法的性能差异。

二、实验目的1. 了解信息隐藏技术的基本原理和常用算法。

2. 比较不同信息隐藏算法在文本信息隐藏中的应用效果。

3. 分析影响信息隐藏算法性能的因素。

三、实验内容本实验选用以下三种信息隐藏算法进行文本信息隐藏:1. 基于双文本段的信息隐藏算法2. 基于矢量字库的文本信息隐藏算法3. 基于宋词生成的大容量构造式信息隐藏算法实验步骤如下:1. 选择合适的文本作为载体,包括原文和待隐藏信息。

2. 分别采用三种算法对载体文本进行信息隐藏。

3. 对隐藏后的文本进行提取,并计算提取成功率。

4. 分析不同算法的性能差异,包括提取成功率、隐蔽性和安全性。

四、实验结果与分析1. 基于双文本段的信息隐藏算法该算法通过在多种隐形式中选择适当的隐藏形式和信息分散存储,大大提高信息隐藏的隐蔽性、安全性。

实验结果显示,该算法的提取成功率较高,隐蔽性和安全性较好。

2. 基于矢量字库的文本信息隐藏算法该算法利用汉字的二维象形性和人眼视觉冗余特性,通过修改汉字字库的矢量数据来实现信息隐藏。

实验结果显示,该算法的提取成功率较高,隐蔽性和安全性较好,同时具有较大的嵌入空间。

3. 基于宋词生成的大容量构造式信息隐藏算法该算法基于宋词生成模型,通过符号集设计、编码等综合作用,生成宋词诗句来实现信息隐藏。

实验结果显示,该算法的提取成功率较高,隐蔽性和安全性较好,且生成的宋词文本的信息隐藏容量较大。

综合分析三种算法的性能,可以得出以下结论:1. 基于双文本段的信息隐藏算法和基于矢量字库的文本信息隐藏算法在提取成功率、隐蔽性和安全性方面表现较好。

2. 基于宋词生成的大容量构造式信息隐藏算法在信息隐藏容量方面具有优势。

二值文本图像信息隐藏分析_孟妍妍

二值文本图像信息隐藏分析_孟妍妍

为常用的(10, 11,…, 16),行间距为固定值(12, 13,…, 20)。对
∀I ∈ E1 利用本文§2 的嵌入算法对 I 嵌入信息得到 I * 。最大
嵌入量为 5 627 bit,最小嵌入量为 173 bit,平均嵌入量
1 809.1 bit。所有的 I * 形成图像库 E1* , E1' = E1∪ E1* 。对 E1'
像大小从 540×540 到 900×900,字体大小为常用的(10, 11,…,
16),行间距为固定值(12, 13,…, 20)。对 ∀I ∈ E2 利用本文§2
的嵌入算法对 I 嵌入信息得到 I* 。最大嵌入量为 8 465 bit,
最小嵌入量为 144 bit,平均嵌入量 1 561.8 bit。所有的 I* 形
(西北大学信息科学与技术学院,西安 710127)
摘 要:通过大量实验发现,基于块中心跳转的二值文本图像密写算法,其二值文本干净图像和密写图像的游程统计特性差别较大,而二 值文本密写图像和二次密写图像的游程统计特性差别较小。基于该规律提出一种二值文本图像信息隐藏分析方法,对待测图像进行二次密 写,计算待测图像和密写图像游程统计函数的差异值,当差异值大于门限时,待测图像是干净图像,否则是密写图像。通过分类实验的方 法确定了几种典型字体的判决门限。实验结果表明,利用该方法和相关判决门限,密写检测率可达 99.9%。 关键词:信息隐藏分析;游程统计;二值文本图像
(5)
k =1
其中, f (k) 和 f *(k) 分别为图像 F 和 F* 的游程统计函数。
对图像中嵌入信息相当于对图像引入了噪声,对图像的
游程统计规律必然会产生影响。
通过对 3 923 幅二值文本图像实验分析发现无论对于英

工作报告之信息隐藏实验报告

工作报告之信息隐藏实验报告

信息隐藏实验报告【篇一:合肥工业大学信息隐藏实验报告完整代码版】计算机与信息学院专业班级学生姓名及学号课程教学班号任课教师实验指导教师实验地点20~20学年第学期实验1 bmp位图信息隐藏一、实验目的学习bmp格式文件,并编程实现对位图文件信息隐藏二、实验要求将txt文件嵌入bmp 文件中三、问题描述1、bmp位图文件的格式?2、有哪几种方法隐藏信息,分别采用什么样的数据结构3、随机选取如何避免“碰撞”的出现四、算法思想1、bmp位图文件格式0000h~0001h 2字节 -------------------------bm的asc码0002h~0005h 4字节 -------------------------文件大小102718字节0006h~0009h 4字节 -------------------------全为0000ah~000dh 4字节 -------------------------偏移量 118字节000eh~0011h 4字节 -------------------------位图信息块大小40字节 0012h~0015h 4字节 -------------------------宽 4500016h~0019h 4字节 -------------------------高 450001ah~001bh 2字节 -------------------------恒为01h 00h001ch~001dh 2字节 -------------------------颜色所占二进制位数值04h 00h=4 16色位图001eh~0021h 4字节 -------------------------压缩方式=0无压缩0022h~0025h 4字节 -------------------------图像数据区大小 102600字节0026h~0029h 4字节 -------------------------水平每米多少像素 39个 002ah~002dh 4字节 -------------------------垂直每米多少像素 39个 002eh~0031h 4字节 -------------------------图像所用颜色数=00032h~0035h 4字节 -------------------------重要颜色数=00036h~0076h 64字节 -------------------------颜色表0077h~1913dh 102600字节 -------------------------图像数据区2、(1)、在图片图像数据区的一个连续的数据区采用整字节替换的方法(2)、在图像数据的最后增加文本信息的字节(3)、顺序选取每个文本信息字节的每一位替换图像数据区的一个连续的数据区每个字节的最后一位。

信息隐藏实验报告-信息隐藏技术

信息隐藏实验报告-信息隐藏技术

实验目的隐写分析以及变换域隐写技术实验内容针对LSB隐写的卡方分析a)实现针对LSB隐写的卡方分析b)分析实验性能针对LSB隐写的RS分析a)实现针对LSB隐写的RS分析b)分析实验性能JPEG压缩算法a)分析JPEG压缩算法的主要流程Jsteg隐写算法a)实现Jsteg隐写算法b)分析实验性能F3隐写算法a)实现F3隐写算法b)分析实验性能实验工具及平台■Windows+Matlab□其它:(请注明)实验涉及到的相关算法1、与实验内容选择的项目对应;2、请使用流程图、伪代码、NS 图或文字方式描述,不要..贴代码 卡方隐写分析卡方隐写分析主要利用了LSB 隐写后图像的值对效应。

它需要LSB 隐写满足如下的条件:1. 嵌入信息中0、1的分布较为均匀,即各为50%左右。

由于信息嵌入到载体之前通常需要经过加密操作,因此这一点是容易满足的。

2. 图像需要有较多的像素点被嵌入信息。

当嵌入信息较少时,卡方分析的效果并不精确。

卡方分析的原理是:若设ℎj 表示图像载体中灰度值为j 的像素数量,如果载体图像没有使用LSB 隐写算法,那么ℎ2i 和ℎ2i+1的值通常相差较大,而LSB 隐写方法将秘密信息取代图像的最低位,由于秘密信息通常是加密过的,因此可以看成0、1分布均匀的比特流。

在嵌入过程中只存在2i →2i +1而不存在2i →2i −1的变换,因此使得ℎ2i 和ℎ2i+1的值趋于一致,我们能够借助改变的统计特性判断图像是否经过隐写。

我们首先定义ℎ2i ∗=ℎ2i +ℎ2i+12,由LSB 隐写算法的性质我们可以知道在嵌入前后该值是不变的。

由中心极限定理,我们有ℎ2i −ℎ2i+1√(2ℎ2i ∗)→N(0,1) 因此r = ∑(ℎ2i −ℎ2i ∗)2ℎ2i ∗k i=1服从卡方分布。

结合卡方分布的密度计算函数我们可以计算出载体被隐写的可能性为:p =1−12k−12T(k −12)∫exp (−t 2)t k−12−1dt r0 当p 的值接近于1时,我们可以推断出载体图像中含有秘密信息。

信息隐藏(图像处理)实验报告

信息隐藏(图像处理)实验报告

信息隐藏(图像处理)实验报告
实验一、图像输入与输出
实验目的:
学习在MATLAB环境下对图像文件的I/O操作。

实验要求:
1.在Matlab环境下读入一幅.jpg格式的灰度图像并显示该图像;
2.显示多幅图像。

读入四幅灰度图像,并用两排显示。

实验结果:
实验二、直方图处理 实验目的:
获取图像的直方图,并利用直方图均衡化进行图像增强。

实验要求:
1.在Matlab 环境下读入.jpg 格式的灰度图像,分别显示该图像的直方图以及归一化直方图;
2.进行直方图均衡化。

显示均衡化后的图像,以及该图像的直方图。

实验结果:
原图 直方图
归一化直方图直方图均衡化后的结果图像
直方图均衡化后的结果图像的直方图
实验三、使用DCT进行变换编码
实验目的:
了解图像压缩中常用的DCT变换。

实验要求:
1.在Matlab环境下显示4x4的DCT基函数图像;
2.读入.jpg格式的灰度图像,对该图像进行8x8的DCT变换,将得到的系数的50%截去,再对截去的系数阵列进行逆变换得到重构图像,以图像形式显示重构图像和原始图像的误差。

实验结果
原图 4x4的DCT基函数图像
重构图像重构误差图像
实验四、图像加密
实验目的:
了解基于置乱的图像加密方法。

实验要求:
1.读入.bmp格式的灰度图像,编程实现基于Arnold变换的图像置乱加密算法。

实验结果:
原图置乱1次
置乱2次置乱3次
置乱4次置乱5次
置乱6次置乱96次。

信息隐藏技术_实验报告(3篇)

信息隐藏技术_实验报告(3篇)

第1篇一、实验目的1. 了解信息隐藏技术的基本原理和实现方法。

2. 掌握信息隐藏技术在图像、音频和视频等数字媒体中的应用。

3. 通过实验验证信息隐藏技术的有效性和安全性。

二、实验环境1. 操作系统:Windows 102. 编程语言:Python3. 库:OpenCV、scikit-image、numpy、matplotlib三、实验内容1. 图像信息隐藏2. 音频信息隐藏3. 视频信息隐藏四、实验步骤1. 图像信息隐藏(1)选择一幅图像作为宿主图像,并选择一幅图像作为水印图像。

(2)将水印图像转换为二值图像。

(3)对宿主图像进行分块处理,将每个块转换为二值图像。

(4)根据密钥对水印图像进行置乱,提高安全性。

(5)将置乱后的水印图像嵌入到宿主图像的对应块中。

(6)提取水印图像,并与原始水印图像进行对比。

2. 音频信息隐藏(1)选择一段音频作为宿主音频,并选择一段音频作为水印音频。

(2)对宿主音频和水印音频进行分帧处理。

(3)根据密钥对水印音频进行置乱,提高安全性。

(4)将置乱后的水印音频嵌入到宿主音频的对应帧中。

(5)提取水印音频,并与原始水印音频进行对比。

3. 视频信息隐藏(1)选择一段视频作为宿主视频,并选择一段视频作为水印视频。

(2)对宿主视频和水印视频进行帧提取。

(3)根据密钥对水印视频进行置乱,提高安全性。

(4)将置乱后的水印视频嵌入到宿主视频的对应帧中。

(5)提取水印视频,并与原始水印视频进行对比。

五、实验结果与分析1. 图像信息隐藏实验结果表明,嵌入水印后的图像与原始图像在视觉效果上几乎没有差异,水印的嵌入效果良好。

同时,提取的水印图像与原始水印图像完全一致,证明了信息隐藏技术的有效性。

2. 音频信息隐藏实验结果表明,嵌入水印后的音频与原始音频在音质上几乎没有差异,水印的嵌入效果良好。

同时,提取的水印音频与原始水印音频完全一致,证明了信息隐藏技术的有效性。

3. 视频信息隐藏实验结果表明,嵌入水印后的视频与原始视频在视觉效果上几乎没有差异,水印的嵌入效果良好。

LSB图像信息隐藏实验

LSB图像信息隐藏实验

学号:姓名:专业年级班级:实验室:组别:实验日期:课程名称保密技术实验实验课时实验项目名称和序号1.LSB图像信息隐藏实验同组者姓名实验目的1. 掌握对图像的基本操作。

2. 能够用 LSB 算法对图像进行信息隐藏3. 能够用 LSB 提取算法提取隐藏进图像的信息4. 能够反映 jpeg 压缩率与误码率之间的关系实验环境Windows+matlab实验内容和原理1.用 MATLAB 函数实现 LSB 信息隐藏和提取2.分析了 LSB 算法的抗攻击能力3.能随机选择嵌入位(考虑安全性因素)实验步骤方法关键代码实验算法 1:LSB 嵌入1.读取一副 256*256 大小的图片,判断是否为 RGB 图像。

若为 RGB 图像,则读取图像的一层信息(如 R 层)。

通过读取图像的尺寸大小来判断是否为RGB图像。

RGB图像是三维多彩图,size有3个参数,最小参数是3,只要判断读取到的图像大小大于2,就确定读入的是RBG图像2.以二进制形式读取要嵌入到图片里的消息。

并读取消息的长度(嵌入消息的长度不能超过图像位数)。

3.产生与消息长度一致的一串随机数(不能相同)。

自定义一个randinterval函数来实现伪随机数的生成产生的伪随机数是代表消息要隐藏的像素位置(行和列的信息)随机数代码:function [row,col]=randinterval(matrix,count,key)%randinterval.m%参数说明%matrix是载体矩阵,即要隐藏信息的图层%cout为要嵌入信息的像素数量%key为自定义秘钥,随机种子[m,n] = size(matrix);interval1 = floor(m * n/(count+eps)) + 1;interval2 = interval1 - 2;if interval2 == 0error('载体太小不能把秘密信息隐藏进去');endrand('seed',key);a = rand(1, count);row = zeros([1 count]);col = zeros([1 count]);r = 1;c = 1;row(1,1) = r;col(1,1) = c;for i =2:countif a(i) >= 0.5c = c + interval1;elsec = c + interval2;endif c > nr = r + 1;if r > merror('载体太小不能把秘密信息隐藏进去');endc = mod(c, n);if c == 0c = 1;endendrow(1, i) = r;col(1, i) = c;end4.按照产生的随机数的序列依次将图片层的最后一位改为消息的信息。

一种新的二值图像信息隐藏方法

一种新的二值图像信息隐藏方法
博士点基金资助项目20020288025江苏省自然科学基金资助项目bk2001054在现实生活中有许许多多的信息需要实施安全保护通常人们采用密码术对敏感信息进行保护由于密码术是利用随机性对抗密码分析的而密文的随机性同时也暴露了消息的重要性容易引起密码分析员的注意和攻击信息隐藏技术12是将敏感信息嵌入到普通的公开信息中如数字相片广告图片古典音乐等进行传输隐蔽了敏感信息的存在从而不易引起攻击者的注意保证了信息安全因此对信息隐藏技术的研究受到了人们的日益重视随着数字扫描仪和数码相机等产品的日益普及和大量数字数据存储介质的价格越来越低廉数字图像的用途也变得日益广泛实际数字图像的使用范围已经涵盖了艺术珍品电子图书银行支票工程图纸医学图像等许多方面根据各自不同的用途所有这些数据都需要一种可靠的方法进行版权保护拷贝控制完整性认证匿名处理等另外由于数字图像的普及性以及在图像数据中含有大量的冗余信息所以数字图像成为人们进行隐秘通信的首选隐秘载体为此目的目前已经提出了一系列的数字水印和信息隐藏技术但这些主要都是针对彩色图像和灰度图像的因为对这类图像的某些像素的灰度值或颜色值进行微小的修改不会引起视觉可以察知的失真例如给定一幅彩色图像一种简单的信息隐藏方法是替换每个像素的最不重要位由于这种方法不会使图像质量有明显的下降所以许多实用的软件包都采用了最不重要位替换技术一种目前研究得较少但非常重要的内容是在二值图像中隐藏信息的问题
显然, 可以得到下述结论: 在每个可用块中, 只要任意修改一个像素, 即可实现奇块与偶块的转换 ! 在下一小节, 我们通过嵌入信息与奇偶块的对应关系进行信息隐藏 ! $&" 信息嵌入与提取过程 设原始图像为大小是 " ! " " # 的二值图像, 记为 $ %( &’( ) 其中 &’( 表示像素值, ,’ % &’( !{ %, $} "! ""# , …, …, ,, % $, …, $, ", " !, ( % $, ", " # ) 嵌入的信息序列为 * 位二进制序列: + % + $ + " … +* , +, !{ %, $} ", * ) 信息嵌入按以下几步进行: $)图像分块 ) 将二值图像 $ 顺序分割成 !# 个 " " " 的互不相交的图像块 -./ &’, &’, ( ( 0$ …, …, -./ % ’ % " . 1 $;( % " / 1 $;. % $, ", ! ;/ % $, ", # &’ 0 $, &’ 0 $, ( ( 0$ 对所有的图像块 -./ , …, …, 选择出全部 ")选取可用块 ) 根据定义 $, . % $, ", ! ,/ % $, ", # 进行检查, 可用块, 组成可用块集合 …, - * % {-./ $ " &’ , ’ % " . 1 $, ( % " / 1 $, . % $, ", !, / % $, ( 0 &’, ( 0 $ 0 & ’ 0 $, ( 0 & ’ 0 $, ( 0 $ " +,

信息隐藏_实验报告

信息隐藏_实验报告

一、实验目的1. 了解信息隐藏的基本原理和方法。

2. 掌握数字图像、音频、视频等媒体中信息隐藏的实现技术。

3. 熟悉信息隐藏技术在实际应用中的重要性。

二、实验内容1. 数字图像信息隐藏2. 音频信息隐藏3. 视频信息隐藏三、实验原理信息隐藏是指将秘密信息嵌入到公开信息(如数字图像、音频、视频等)中,使得秘密信息在传输或存储过程中不易被发现。

信息隐藏技术广泛应用于网络安全、数字版权保护、隐私保护等领域。

四、实验步骤1. 数字图像信息隐藏(1)选择一幅数字图像作为公开信息,如图1所示。

(2)选择一幅与公开信息大小相同的数字图像作为载体图像,如图2所示。

(3)在载体图像中嵌入秘密信息,采用空域方法,如图3所示。

(4)提取嵌入的秘密信息,如图4所示。

2. 音频信息隐藏(1)选择一段音频作为公开信息,如图5所示。

(2)选择一段与公开信息时长相同的音频作为载体音频,如图6所示。

(3)在载体音频中嵌入秘密信息,采用时域方法,如图7所示。

(4)提取嵌入的秘密信息,如图8所示。

3. 视频信息隐藏(1)选择一段视频作为公开信息,如图9所示。

(2)选择一段与公开信息时长相同的视频作为载体视频,如图10所示。

(3)在载体视频中嵌入秘密信息,采用空域方法,如图11所示。

(4)提取嵌入的秘密信息,如图12所示。

五、实验结果与分析1. 数字图像信息隐藏实验结果表明,采用空域方法嵌入秘密信息后,嵌入秘密信息的图像与原始图像在视觉效果上基本一致,且提取的秘密信息与原始秘密信息完全相同。

2. 音频信息隐藏实验结果表明,采用时域方法嵌入秘密信息后,嵌入秘密信息的音频与原始音频在听觉效果上基本一致,且提取的秘密信息与原始秘密信息完全相同。

3. 视频信息隐藏实验结果表明,采用空域方法嵌入秘密信息后,嵌入秘密信息的视频与原始视频在视觉效果上基本一致,且提取的秘密信息与原始秘密信息完全相同。

六、实验总结通过本次实验,我们了解了信息隐藏的基本原理和方法,掌握了数字图像、音频、视频等媒体中信息隐藏的实现技术。

LSB图像信息隐藏实验

LSB图像信息隐藏实验

LSB图像信息隐藏实验【实验环境】ISES客户端注:请将信息隐藏测试载体放在指定目录下:C:\ISES【实验步骤】一、信息嵌入(一)选择载体图片注:载体图片有BMP、JPG、GIF、PNG四种格式,这里只以JPG格式图片为例。

(1)选择载体图片,进入该实验,点击“选择载体图片”按钮选择合适的要嵌入信息的载体图片,如图4.1.1-1所示。

图4.1.1-1选择载体图片(2)点击“二进制展示”按钮可以二进制形式查看图片,如图4.1.1-2所示。

图4.1.1-2以二进制查看图片(3)点击“计算”按钮,可查看图片信息,如图4.1.1-3所示。

图4.1.1-3查看图片信息(二)选择要隐藏文件(1)点击“选择要隐藏的文件”按钮选择要嵌入的信息文件,并点击“计算”按钮查看信息内容。

如图4.1.1-4所示。

需注意的是要嵌入的信息数据大小应小于载体容量,且最好为文本文件,以便对比观察原始信息与提取的信息。

图4.1.1-4选择要隐藏文件(2)点击“二进制转换”按钮,查看隐藏信息的二进制流,如图4.1.1-5所示。

图4.1.1-5以二进制流形式查看隐藏信息(三)嵌入信息(1)点击“嵌入”按钮,将隐藏信息嵌入到载体图片中,并另存为成新的带有隐藏信息的图片,如图4.1.1-6所示。

图4.1.1-6嵌入信息成功(2)点击“确定”按钮,弹出图片对比窗口,如图4.1.1-7所示。

图4.1.1-7图片对比窗口(3)可通过选项卡选择图片对比及细节对比,以对比原始载体图片和嵌入信息后的载体是否存在视觉上的可觉察的变化,并观察载体文件嵌入前后的细节变化。

(四)观察嵌入信息过程(1)点击“读取信息”及“读取水印”按钮,读取载体的一个字节信息及水印的一位信息,如图4.1.1-8所示。

图4.1.1-8读取信息(2)点击“嵌入1”按钮,执行嵌入操作,如图4.1.1-9所示。

图4.1.1-9嵌入信息(3)点击“嵌入”按钮,循环执行上述过程将全部信息嵌入到载体图片中,并保存、对比结果。

信息安全实验4 图像信息隐藏

信息安全实验4 图像信息隐藏

实验要求: 算法分两部分: ① 水印嵌入算法; ② 判断图像是否篡改的算法。
1. 将所有像素每连续8个分成一组,每组中的8个像素的高7位依 次提取出来组成一个56位的二进制数据;
2. 第1组和第2组像素组成的56位二进制数逐位异或操作得到一个 56位的校验和,然后利用这个校验再和第三组像素组成的56位 二进制数逐位异或操作再得到一个56位的校验和,一次这样操 作直到最后一组,然后得到最终的56位校验和。
图像像素值大小在计算机中用二进制存储,其最低位对图像感官 质量影响较小,更改后不会造成图像质量的明显下降,可以利用这个 原理用秘密信息比特流替换图像像素值得最低有效位来实现隐藏传递 秘密信息的目的。BMP灰度图像的位平面图如下图,每个像素占8比 特的存储空间:
像素值的高位,改变 后对视觉影响较大, 一般不用于隐藏信息
3. 在图像中随机选取56个像素点,将上述得到的最终校验和利用 LSB算法嵌入到这56个像素中后生成一个加了水印的图片。
4. 利用相同的算法计算3中加水印图像的校验和,然后提取出嵌 入的校验和,两者进行比对判断图像是否被篡改,结果应该是 没有篡改。
5. 用画图软件改变3中加水印的图像,再利用4中完成的程序验证 图像是否被篡改,结果应该是被篡改。
图像像素值大小在计算机中用二进制存储其最低位对图像感官质量影响较小更改后不会造成图像质量的明显下降可以利用这个原理用秘密信息比特流替换图像像素值得最低有效位来实现隐藏传递秘密信息的目的
实验4 –图像信息隐藏
指导老师:陈国永 18684983863,余应波 15116165316,殷娇娇 15111221107
像素值的低位,改变 后对视觉影响较小1100100,现假如要隐藏一个1,则像 素变成1100101。

信息隐藏之隐写术

信息隐藏之隐写术
◦ 进行JPEG压缩的DCT量化和反量化过程,直 接修改量化后的部分DCT系数,隐写图像还 是非JPEG格式。
◦ 输入和输出都是JPEG图像的隐写术,属于压 缩域隐写术。
说明
◦ 为了保证图像质量,一般不用DC分量作为嵌 入位置。
◦ 兼顾不可感知性和鲁棒性,中低频带可以作 为嵌入秘密信息的理想部位;
信息隐藏 ——— 隐写术
北京工业大学 计算机学院 周艺华
主要内容
1.空域隐写术 2.变换域隐写术 3.压缩域隐写术 4.视觉密码 5.音频隐写术 6.视频隐写术
1.空域隐写术
(1)LSB隐写算法(位平面算法)
LSB和位平面
每个像素中的0号比特叫做最低比特位或最不 重要位(the Least Significant Bit,LSB)
若秘密比特与DCT系数的LSB相同,则不进行修改;
若秘密比特与DCT系数的LSB不相同,相应DCT系 数的绝对值减1.
若DCT系数变为0,则嵌入无效,重新选择嵌入位 置。
原系数直方图
F3算法系数直方图
◦ 2i位置的条形柱会比2i-1位置上的条形柱高一 些,会引起隐写分析者的怀疑。
F4算法:
h8w
输入参与者数量,根据参与者数量构造黑
白像素加密矩阵;(0代表白,1代表黑)
原因是只能得到高4位
LSB隐写算法(变形算法)
变形5:LSB匹配隐写术 LSB替换方法的缺点
◦ 存在值对(Pairs of Value)的概念 ◦ 0↔1 2↔3 4↔5 … 254↔255 ◦ 隐藏前:值对中两个值出现的次数差别较
大 ◦ 隐藏后:值对中两个值出现的次数接近
LSB匹配隐写(±1隐写)算法原理
◦ 中间幅值位平面加入纠错编码,优于不采用 纠错编码;

lsb图像信息隐藏课程设计

lsb图像信息隐藏课程设计

lsb图像信息隐藏课程设计一、课程目标知识目标:1. 学生能理解图像信息隐藏的基本概念,掌握LSB(最低有效位)算法的原理和应用。

2. 学生能描述LSB算法在图像处理和信息安全领域的实际应用场景。

3. 学生能解释LSB算法中涉及的颜色空间转换、图像编码和解码过程。

技能目标:1. 学生能运用LSB算法实现简单的图像信息隐藏,具备基本的图像处理技能。

2. 学生能运用编程工具(如Python等)实现LSB算法,提高实际操作能力。

3. 学生能通过案例分析和实践,学会运用LSB算法解决实际问题。

情感态度价值观目标:1. 学生对图像信息隐藏产生兴趣,提高对信息安全的认识和重视。

2. 学生通过小组合作完成任务,培养团队协作和沟通能力。

3. 学生在学习过程中,培养积极探索、勇于创新的精神。

分析课程性质、学生特点和教学要求:1. 课程性质:本课程为信息技术课程,旨在让学生了解图像信息隐藏的基本原理和方法,提高信息安全意识。

2. 学生特点:学生为初中生,对新鲜事物充满好奇,具备一定的编程基础和图像处理知识。

3. 教学要求:注重理论与实践相结合,以学生为主体,充分调动学生的积极性,培养实际操作能力和创新精神。

二、教学内容1. 图像信息隐藏概述:介绍图像信息隐藏的基本概念、分类和应用场景,使学生了解LSB算法在图像信息隐藏中的地位和作用。

- 教材章节:第3章 图像信息隐藏技术- 内容:3.1 节 图像信息隐藏的概念及分类;3.2 节 LSB算法简介2. LSB算法原理:讲解LSB算法的基本原理,包括颜色空间转换、图像编码和解码过程。

- 教材章节:第3章 图像信息隐藏技术- 内容:3.3 节 LSB算法原理;3.4 节 颜色空间转换3. LSB算法实现与应用:分析LSB算法在实际应用中的优势和局限,并通过案例讲解其实现过程。

- 教材章节:第3章 图像信息隐藏技术- 内容:3.5 节 LSB算法实现与应用;3.6 节 LSB算法的优势与局限4. 实践操作:安排学生进行LSB算法的实践操作,包括使用编程工具实现LSB 算法、分析实际案例等。

信息隐藏基础实验

信息隐藏基础实验

实验一基于图像的LSB信息隐藏算法一、实验目的1、了解和熟悉数字图像的读入和显示等基本操作。

2、了解不同“位平面”对图像质量的影响。

3、掌握不同图像格式之间的转换方法。

4、熟悉和掌握基于图像的LSB信息隐藏算法。

5、掌握对LSB算法的不可感知性的客观评价。

6、掌握LSB提取算法。

二、实验内容1、结合EXZAMPLE.M,查看不同“位平面”对图像质量的影响。

(1)运行example.m程序,将“位平面”的第7、8位设置为‘0’,得到如下结果,如图所示:由图分析得:去掉第7、8为,此两位(低位)对图像质量没有明显影响,没有携带图像的有用信息。

(2)运行example.m程序,将“位平面”的第3、4位设置为‘0’,得到如下结果,如图所示:由上图分析:对比左右两幅图像,可以看出去掉第3、4位对图像质量有较为明显的影响,携带有图像的有用信息。

(2)运行example.m程序,将“位平面”的第1、2位设置为‘0’,得到如下结果,如图所示:由图分析:对比左右两幅图像,可以看出去掉第1、2位对图像质量产生非常大的影响,携带有图像的大量有用信息。

由此程序可以得出,不同“位平面”对图像的质量有不同程度的影响,第1、2位携带有有用信息,而第7、8位不含有图像的有用信息。

2、运行water.m程序,理解不同图像格式之间的转换方法。

运行water.m程序,得到如下结果,如图所示:分析:可以在图像不同格式(RGB、灰度、二值)之间进行转换。

3、阅读并"完善" imbed.m内容,掌握基于图像的LSB信息隐藏算法。

(1)填写完善imbed.m程序,填写部分如下所示:(2)运行已完善的imbed.m程序,得到如下结果,如下图所示:分析:将水印嵌入灰度图像的“位平面”第N=6位,得到上图右图所示,与原图视觉效果没有区别,嵌入成功。

4、编写matlab函数:sse(f,f0)、mse(f,f0)、psnr(f,f0),实现对上述算法不可感知性的客观评价。

信息隐藏实验四二值图像信息隐藏汇编

信息隐藏实验四二值图像信息隐藏汇编

实验四二值图像信息隐藏一、实验目的了解二值图像的特点,掌握基于二值图像的信息隐藏原理,读懂两种基于二值图像的信息隐藏方法,并自己设计另一种二值信息隐藏的方法。

二,实验环境(1)Windows XP操作系统;(2)MATLAB 7.2版本软件;(3)二值图像文件。

三、实验原理二值图像又称为单色图像或黑白图像,一般用1或0表示黑色或白色像素点,利用二值图像信息隐藏的方法主要是根据图像中黑白像素数量的比较来隐藏信息。

方法一:把一个二值图像分成一系列矩形图像区域B,某个图像区域B中黑色像素的个数大于一半,则表示嵌入0;如果白色像素的个数大于一半,则表示嵌入1。

但是当需要嵌入的比特与所选区域的黑白像素的比例不一致时,为了达到希望的像素关系,则需要修改一些像素的颜色。

方法二:采用游程编码方法在二值图像中隐藏信息。

秘密信息嵌入时修改二值图像的游程长度,如果秘密信息位是0,则修改该游程长度为偶数;如果为1,则修改游程长度为奇数;如果秘密信息的取值与游程长度的奇偶性相匹配,则不改变游程长度。

方法三:将二值图像分块,使用一个与图像块大小相同的密钥二值图像块,与每一个图像块按像素进行“与”运算,“与”运算的结果可以确定是否在该块中嵌入数据,或嵌入怎样的数据。

四,实验步骤下面以方法三为原理,进行实验。

1.嵌入秘密信息主要思想:首先将载体图像分块,块数为秘密信息的二进制码个数,分块大小为载体图像的长和宽分别除以块数;设定一个与图像块大小相同的密钥二值图像块,具体为一个8×8的数组,其中前4行全为1,后4行全为0;将载体图像块与密钥二值图像块进行“与”运算。

经过运算后,参与统计的像素变为前4行。

接下来统计“有效”像素黑白的个数,某个图像区域B中黑色像素的个数大于“有效”像素一半,则表示嵌入0;如果白色像素的个数大于“有效”像素一半,则表示嵌入1。

但是当需要嵌入的比特与所选区域的黑白像素的比例不一致时,为了达到希望的像素关系,则需要修改一些像素的颜色。

二值图像信息隐藏算法与提取

二值图像信息隐藏算法与提取

二值图像信息隐藏算法与提取姓名:牛伟豪学号:201115030219班级:通信111502二值图像信息隐藏算法与提取摘要:为了达到较好的隐藏效果,本文采用游程编码的方法在二值图像中隐藏信息。

秘密信息嵌入时修改二值图像的游程长度,如果秘密信息为是0,则修改该游程长度为偶数;如果秘密信息的取值与游程长度的奇偶性相匹配,则不改变游程长度。

提取时根据游程长度奇偶性提取出秘密信息。

在信息隐藏时,改变游程的奇偶性时通过对下一个游程的第一个像素值进行修改,因此当下一个游程长度为1时通过改变当前有成的值实现。

关键词:二值图像,游程编码,信息隐藏Binary image information hiding algorithm Abstract: In order to achieve a better hiding effect, we use run-length coding method to hide information in the binary image. Modify the binary image embedding secret information when the run length, if secret information is 0, then modify the run length is an even number; If the parity value and the run length of the phase-matching secret information, do not change the run length. According to the run length to extract the secret parity information extraction. When information hiding, changing the parity of the run time of the first pixel value of the next run is modified by, so a run length of the current by changing a value of the current successful implementation. Keywords: Binary image, Run-length coding, Information hiding. 1.引言信息隐藏就是把重要的信息秘密的隐藏在公开的载体上。

LSB图片信息隐藏隐藏实验

LSB图片信息隐藏隐藏实验

上海电力学院高级程序设计(C)课程设计报告LSB信息隐藏实验题目:院系:计算机科学与技术学院专业年级:信息安全2012级学生姓名:涂桂花学号:指导教师:魏为民2015年4月14日目录一、实验目的 0二、实验内容和步骤 01. 操作环境 02. 系统配置 03. 操作步骤 04. 程序源代码 (3)三、实验结果 (3)1. 测试图片 (3)2. 测试结果 (3)3.截屏 (4)四.实验小结 (4)1. 遇到的问题总结合分析: (4)2. 未解决的问题 (4)3. 实验效果和分析 (4)4. 总结: (5)附件: (5)上海电力学院实验报告课程名称实验项目姓名学号班级专业同组人姓名指导教师魏为民实验日期一、实验目的1.用MATLAB函数实现LSB信息隐藏和提取。

2.了解信息隐藏的作用和实现方法原理。

3.学会分析了解隐藏算法。

二、实验内容和步骤如操作环境、系统配置、操作步骤、程序源代码等。

1.操作环境操作系统 Windows 7 旗舰版 64位 SP1 ( DirectX 11 )2.系统配置处理器AMD E1-2100 APU with Radeon HD Graphics 双核3.操作步骤1)打开MATLAB软件,新建文件夹名为“ LSB ”。

2)在“Command Window”窗口里输入“guide”,回车。

a.如下图所示建立图形界面。

将5个push button控件的“String”属性设置为下图相应显示的名字,Tag属性设置为pbt+String名的格式。

将4个axec控件的Tag属性设置为如下图所显示的名字。

3)分别右键点击5个push button控件,View Callbacks->CallBacks.信息安全 LSB信息隐藏实验涂桂花20123333 201225信息安全无给每个控件添加Callback代码。

再添加代码之前要为该fig文件命名。

我在本次实验命名为LSB3333.fig。

信息隐藏技术课件第三章图像信息隐藏与水印

信息隐藏技术课件第三章图像信息隐藏与水印

• 其他方法来隐藏信息: 对于调 色板中的每一种颜色,可以通 过修改颜色的蓝色分量(人眼 对于绿色分量最为敏感,对蓝 色分量最不敏感)来增加一种 接近的但不完全相同的颜色, 这样就形成一个扩展的调色板。
• 嵌入算法如下: 对调色板中所 有颜色,把像素点的蓝色分量 增加,然后将这种颜色添加到 调色板中形成一个扩展调色板。 根据需要嵌入的消息长度,随 机选取隐藏的位置,当嵌入0
• Patchwork是指从载体数据中 选择一些数据组成两个集合, 然后通过修改这两个集合之间 的某种关系来携带水印信息。 这两个集合可以是两个系数、 两组系数或者是两个特征量。 两个集合之间的关系可以是大 小关系、能量关系、逻辑关系 和奇偶性关系等。
• Patchwork方法嵌入水印时, 通过修改集合之间的某种关系 来嵌入水印;提取水印时, 则 根据对应的关系来提取嵌入的 水印信息。Patchwork方法最 大优点之一就是可以实现盲检 测。Patchwork可以适用于时/ 空域、变换域和压缩域, 本节 主要介绍时域下的典型 Patchwork方法。
• BMP灰度图像的位平面图如右, 每 个像素值为8bit二进制值, 表示 该点亮度。
• 不同位平面对视觉影响不同, 可 用下面系列图像表示。
• 去除第一位平面的图像和第一位 平面
去除第1-7位平面的Lena图像和第1-7位平面
去除第1-4位 平面的图像和 第1-4位平面
• 图像高位平面对图像感官质量起主要作 用, 去除图像最低几个位平面并不会造 成画面质量的明显下降。利用这个原理 可用秘密信息(或称水印信息)替代载 体图像低位平面以实现信息嵌入。
【实验步骤】
• 1.嵌入秘密信息
• 2.提取秘密信息
• 原始图像和携密图像从视觉 效果上几乎相同。提取时, 首 先 将两个图像块集合的样本 分别 求平均值, 计算两个样 本均值 的差来判断水印信息 是否存在。

03_二值图像的信息隐秘

03_二值图像的信息隐秘
14
健壮参数λ对实验结果的影响
健壮参数λ与隐藏容量的关系似乎更 紧密一些.当R0,R1一定时,λ提高有利 于隐藏容量的增大.
15
阈值R0,R1对实验结果的影响
适当调整R0和R1的距离,可以使所 分析的图像块的数量大大减小了.比如: 取R0 =49, R1 =51时,隐藏24bits信息要 分析615块才能确定其隐藏的位置;取R0 =45, R1 =55时,隐藏24bits信息只用分 析299块就确定了隐藏的位置,从而也就 可以认为将隐藏容量扩大了一倍.
的作用是区分隐藏有信息的图像块与未隐藏有信息的图像块的区分的尺度正18健壮参数对实验结果的影响一定的情况下设置过小相对的为了使每块图像块的像素都满足条件要修改的像素就会多一些同时大一点隐藏块与无用块的区别也大一些提取出错的概率就小一些
二值图像的信息隐秘
《信息隐藏实验教程》教学幻灯片 十
1
Zhao和Koch提出的隐秘方案
我们在10×10的范 围内随机置乱100个点. 然后根据置乱后的顺序 找到第一个与所输入的 像素值相同的像素,进 而判断它的八连接有没 有与之相反的像素,如 果有则表明这一点可以 是边界,可以修改;否 则继续往后寻找. 结合块首地址,我 们可以在每一块中任意 确定一个像素.
10
信息提取步骤
步骤一:读取隐蔽载体信息. 步骤二:根据密钥确定图像块的首地址 和图像块使用的顺序. 步骤三:按隐藏时顺序分析图像块 . 步骤四:按照每块的像素关系,完成信 息提取. 步骤五:信息写回保存.
16
二值隐秘的不可见性
17

11
第三部分 实验分析
12
健壮参数λ对实验结果的影响
实际的健壮参数λ是和传输过程中可能发 生改变的像素的百分比有关. λ的作用是区分隐藏有信息的图像块与未 隐藏有信息的图像块的,区分的尺度正 好是2λ. 只要能达到这个目的,λ的取值就是合适 的.

二值图像信息隐藏

二值图像信息隐藏

隐藏的效果
隐藏后的图像在视觉效果上和原始载体 有很大的区别。
产生的原因
• 没有明确界定哪些像素可以修改, 导致修改像素的位置非常的固定, 都是修改每个图像块的所有行前面 的像素。
二值图像中秘密信息的提取
• 提取秘密信息是,提取方需知道隐 藏的秘密信息的数量,使用隐藏的 秘密信息的数量值来对载体图像进 行分块。
谢谢~~
游程法嵌入法
例:游程修改嵌入法
游程的奇偶代表 秘密信息1 秘密信息1或0 游程 为5
+
0110 ||
游程 为6
秘密信息的提取
• 提取
–根据游程长度的奇偶性提取出秘密 信息。
二值图像中的信息隐藏(其他)
• 将二值图像分块,根据块中黑白像素的 奇偶个数确定隐藏的信息是0还是1。 • 将二值图像分块,使用一个与图像块大 小相同的密钥二值图像块,与每一个图 像块按像素进行“与”运算,“与”运 算的结果可以确定是否在该块中嵌入数 据,或嵌入怎样的数据。
二值图像
• 二值图像又称为单色图像或黑白图 像,一般用1或0表示黑色或白色像 素点。 • 二值图像:由黑白象素的分布构成 图像。
– 例如:传真、文字识别等。
二值图像中的信息隐藏
• 怎样隐藏?
–可以根据二值图像中黑白像素数量的 比较来隐藏信息。 – 可以采用游程编码方法在二值图像中 隐藏信息。
二值图像中的信息隐藏(方法1)
信息隐藏与数字水印
3.2 二值图像中的信息隐藏
2011.10
信息隐藏主要工作
• 选择工作域 • 如何选择隐藏位置? • 如何修改图像以嵌入水印
二值图像(binary image)
• 二值图像是指每个像素不是黑就是白, 其灰度值没有中间过滤的图像,二值图 像一般用来描述文字或者图形,其优点 是占用空间较少,缺点是当表示人物、 风景的图像时,二值图像只能描述其轮 廓,不能描述细节。 • 二值图像中所有的像素只能从0和1这两 个值中取,因此在matlab中二值图像用 一个0和1组成的二位矩阵表示。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四二值图像信息隐藏
一、实验目的
了解二值图像的特点,掌握基于二值图像的信息隐藏原理,读懂两种基于二值图像的信息隐藏方法,并自己设计另一种二值信息隐藏的方法。

二,实验环境
(1)Windows XP操作系统;
(2)MATLAB 7.2版本软件;
(3)二值图像文件。

三、实验原理
二值图像又称为单色图像或黑白图像,一般用1或0表示黑色或白色像素点,利用二值图像信息隐藏的方法主要是根据图像中黑白像素数量的比较来隐藏信息。

方法一:把一个二值图像分成一系列矩形图像区域B,某个图像区域B中黑色像素的个数大于一半,则表示嵌入0;如果白色像素的个数大于一半,则表示嵌入1。

但是当需要嵌入的比特与所选区域的黑白像素的比例不一致时,为了达到希望的像素关系,则需要修改一些像素的颜色。

方法二:采用游程编码方法在二值图像中隐藏信息。

秘密信息嵌入时修改二值图像的游程长度,如果秘密信息位是0,则修改该游程长度为偶数;如果为1,则修改游程长度为奇数;如果秘密信息的取值与游程长度的奇偶性相匹配,则不改变游程长度。

方法三:将二值图像分块,使用一个与图像块大小相同的密钥二值图像块,与每一个图像块按像素进行“与”运算,“与”运算的结果可以确定是否在该块中嵌入数据,或嵌入怎样的数据。

四,实验步骤
下面以方法三为原理,进行实验。

1.嵌入秘密信息
主要思想:首先将载体图像分块,块数为秘密信息的二进制码个数,分块大小为载体图像的长和宽分别除以块数;设定一个与图像块大小相同的密钥二值图
像块,具体为一个8×8的数组,其中前4行全为1,后4行全为0;将载体图像块与密钥二值图像块进行“与”运算。

经过运算后,参与统计的像素变为前4行。

接下来统计“有效”像素黑白的个数,某个图像区域B中黑色像素的个数大于“有效”像素一半,则表示嵌入0;如果白色像素的个数大于“有效”像素一半,则表示嵌入1。

但是当需要嵌入的比特与所选区域的黑白像素的比例不一致时,为了达到希望的像素关系,则需要修改一些像素的颜色。

Matlab代码如下:
msgfid=fopen('hidden.txt','r');%打开秘密文件
[msg,count]=fread(msgfid);
fclose(msgfid);
msg = str2bit(msg);
msg = msg';
count=count*8;
io=imread('hunter.bmp');%读入载体图像
watermarklen=count;%嵌入水印信息长度,也就是载体图像分块的数量值
[row col]=size(io);
l1=floor(row/watermarklen);%载体图像分块后的长度
l2=floor(col/watermarklen);%载体图像分块后的宽度
pixelcount=l1*l2;%每个分块总像素的数量值
miyue=[ones(6,8);zeros(2,8)];%密钥二值图像块
percent=24;
iw=io;
in=io;%存放与运算后的图像信息
%将原图像块与密钥块进行与运算
m=1;
while m<=watermarklen
i=1;
j=1;
in(i:(i+l1-1),j:(j+l2-1))=io(i:(i+l1-1),j:(j+l2-1)) & miyue;
i=i+8;
j=j+8;
m=m+1;
end
inblack(1,watermarklen)=0;%某一个分块中黑色像素的个数
inwhite(1,watermarklen)=0;%某一个分块中白色像素的个数
n=1;
while n<=watermarklen
for i=l1*(n-1)+1:(l1*n-2) %只计算有效前4行的黑白个数
for j=l2*(n-1)+1:l2*n
if in(i,j)==0
inblack(1,n)=inblack(1,n)+1;%计算每个分块中的黑色像素的个数
else
inwhite(1,n)=inwhite(1,n)+1;%计算每个分块中的白色像素的个数
end
end
end
n=n+1;
end
n=1;
while n<=watermarklen
if msg(n,1)==1 %需要嵌入1
if inblack(1,n)>=percent;
%嵌入1的时候,黑色像素比白色像素多,需要修改一些像素的颜色
modcount(1,n)=inblack(1,n)-percent+1;
k=1;
for i=l1*(n-1)+1:(l1*n-2)
for j=l2*(n-1)+1:l2*n
if (iw(i,j)==0&&k<=modcount(1,n))
iw(i,j)=1;k=k+1;
end
end
end
end
else
if inwhite(1,n)>=percent;
%嵌入0的时候,白色像素比黑色像素多,需要修改一些像素的颜色
modcount(1,n)=inwhite(1,n)-percent+1;
k=1;
for i=l1*(n-1)+1:(l1*n-2)
for j=l2*(n-1)+1:l2*n
if (iw(i,j)==1&&k<=modcount(1,n))
iw(i,j)=0;k=k+1;
end
end
end
end
end
n=n+1;
end
n=1;
iwblack(1,watermarklen)=0;%某一个分块中黑色像素的个数
iwwhite(1,watermarklen)=0;%某一个分块中白色像素的个数
while n<=watermarklen
for i=l1*(n-1)+1:l1*n
for j=l2*(n-1)+1:l2*n
if iw(i,j)==0
iwblack(1,n)=iwblack(1,n)+1;%计算每个分块中的黑色像素的个数
else
iwwhite(1,n)=iwwhite(1,n)+1;%计算每个分块中的白色像素的个数
end
end
end
n=n+1;
end
figure;
imshow('hunter.bmp');
imwrite(iw,'huntermarked.bmp');
figure;
imshow('huntermarked.bmp');得到的结果如下图所示:
这是隐藏前后载体图像变化的比较,可以明显的看出图像经过存储秘密信息的处理后图像发生了很大的变化,即出现了一条间断斜线,这是因为在存储秘密信息时,如果图像块中0/1的比例与密文不一致,则需要改动载体图像的像素(常常不止改变一个像素点),所以对载体图像的影响还是比较明显的。

但是这种使用密钥二值图像块的方法比将整个图像块作为对象的方法效果
稍微好一些,因为在分析和修改0/1个数时数量减少了,对载体图像的影响也稍微减轻了一些。

下面是使用密钥二值图像块和不使用密钥二值图像块的目标载体的比较:
2.提取秘密信息
wi=imread('huntermarked.bmp');%读入载体图像
[row col]=size(wi);
watermarklen=80;%嵌入的水印信息的长度
l1=floor(row/watermarklen);%载体图像分块后的长度
l2=floor(col/watermarklen);%载体图像分块后的宽度
pixelblack(1,watermarklen)=0;%某一个分块中黑色像素的个数
pixelwhite(1,watermarklen)=0;%某一个分块中白色像素的个数
n=1;
while n<=watermarklen
for i=l1*(n-1)+1:l1*n
for j=l2*(n-1)+1:l2*n
if wi(i,j)==0
pixelblack(1,n)=pixelblack(1,n)+1;
%计算每个分块中的黑色像素的个数
else
pixelwhite(1,n)=pixelwhite(1,n)+1;
%计算每个分块中的白色像素的个数
end
end
end
n=n+1;
end
n=1;
while n<=watermarklen
if pixelwhite(1,n)>pixelblack(1,n)
%如果白色像素块多于黑色像素块,秘密信息为1 message(n,1)=1
else
message(n,1)=0
%如果黑色像素块多于白色像素块,秘密信息为0 end
n=n+1;
end
%将提取的秘密信息转换成字符串
out=bit2str(message);
fid=fopen('message.txt', 'wt');
fwrite(fid, out)
fclose(fid);
转换为字符串的结果:
五,实验总结
采用游程编码方式隐藏的信息量较大,而且隐写后的载体图像和原始载体图像从视觉上看差别不大,是一种较好的二值图像信息隐藏方法。

相关文档
最新文档