/-

基于混沌系统的图像可逆信息隐藏算法

Primary LanguagePython

基于混沌系统的图像可逆信息隐藏算法
为了叙述上的方便,我们将以 512×512 像素大小的灰度图像Lena.bmp 为例,将基于直方图的图像可逆信息隐藏算法描述如下:
1)分析原始图像直方图。读入原始图像,并绘制该图像的直方图,如图 1 所示。在该直方图内最大值点对应的像素值为 156,说明在原始图像内该像素值的像素点个数最多;其左端值为 0~28和其右端值为245~255的像素值均为0,说明在原始图像中不存在这些像素值的像素点。

(2)直方图处理。对图像进行扫描,如果扫描到的像素点其值为[29,155],则将其值减去 1。扫描完成后,在原图内不再存在像素值为 155 的像素点。

(3)嵌入信息。再次对图像进行扫描,如果扫描到的像素点其值为 156,则可以在该点隐藏 1 位信息。隐藏规则为,如果待嵌入点为 0,则该点保持不变;如果待嵌入点为 1,则将该点值减 1。至此,信息隐藏完成。

(4)提取信息。对隐藏了信息的图像进行顺序扫描,如果扫描到的像素点值为 156,则提取一个信息位 0,如果扫描到的像素点值为 155,则提取一个信息位 1,扫描过程完成即完成隐藏信息的提取。

(5)恢复原始图像。再次扫描图像,将在图像内扫描到的像素点值在[28 155]之间的点加 1,即完成图像的复原。
该算法利用图像中最大像素值点来实现信息嵌入,因此,信息嵌入最大量即为最大像素值像素点的个数,从图像直方图可以看出,该点在图像中的数量有限,因此可以嵌入信息的数据量并不大。在嵌入时,该算法只是将原始信息隐藏到对应的峰值点,嵌入完成后会在靠近该峰值点附近形成波谷,通过统计分析很容易实现隐藏信息的提取,因此,算法的安全性不高。改进算法提出利用峰值点两侧的连续多个零值点实现大容量的信息嵌入策略,同时采用混沌系统对秘密信息进行加密从而保证隐藏信息的安全性。