当前位置:网站首页>基于直方图修改的可逆数字水印方法
基于直方图修改的可逆数字水印方法
2022-07-28 05:23:00 【zzuls】
0.本人觉得图像的直方图,就是反映了图像的像素值的分布情况,就是告诉你这个图像像素值为0-255像素点有多少个。横坐标代表像素值,纵坐标表示图像中对应像素值像素的个数。ps:对于灰度图像像素值也可以说是灰度值。

(图像来源参考水印)
1.前期基础:需要找到直方图的零点(对应像素值为z)和峰值点(对应像素值为p)。这个零点你可以简单理解为直方图纵坐标为0的点,如果没有零点,就选最小值代替零点,同时还要记录0点对应的值。峰值点就是直方图像素点最多的点,之所以找峰值是因为秘密消息要嵌入到像素值为p的像素点中,可以使水印容量最大化。

嵌入水印步骤(假设存在):
(1)首先计算图像的直方图,并找到其中的零点,即图像中没有任何灰度值的像素点记为z;然后找到直方图像素点最多的灰度值的峰值点,记为p。为了方便叙述,不妨假设p<z。
ps:峰值点也可能在零点的右边,但实际嵌入水印的步骤类似
(2)由上到下、由左到右扫描图像中的各个像素点,各个像素点的灰度值用
表示,当
>z 或
<p时,像素点的值保持不变;否则,像素点的灰度值加1:
(3)图像中灰度值等于峰值点的像素点,为可嵌入秘密信息的点,将秘密信息转化为二进制流,用
表示。顺序嵌入信息得
。
ps:这个怎么理解呢,假如p=128,图像中有3个点的灰度值为128分别为p1,p2,p3。如果我要嵌入水印信息为101,那么我可以使p1 = p1+1=129、p2 = p2+0 = 128、p3 = p3+1 = 129;
(4)得到的由灰度值组成的图像就是嵌入秘密信息后的图像。同时p、z 以密钥的形式保存。
提取水印信息的步骤:
(1)读取密钥,得到p、z的值;
(2)逐行扫描图像,当
时,说明该点为隐藏信息点,提取信息0并保持该点灰度值不变;当时,该点也为隐藏信息点,提取信息1并使该像素点值减1。
ps:为什么
和时都是隐藏信息的点?因为原始图像中
的点都加一
,所以一定是嵌入秘密消息1才有的
(3) 当
或
时,像素点的值保持不变;当
时,像素点的灰度值减1。
(4)得到由灰度值组成的新图像,即提取秘密信息后的载体图像。
边栏推荐
- 卷积神经网络
- KubeSphere安装版本问题
- Uview upload component upload upload auto upload mode image compression
- Which enterprises are suitable for small program production and small program development?
- Nlp项目实战自定义模板框架
- NLP project actual custom template framework
- Record the problems encountered in online capacity expansion server nochange: partition 1 is size 419428319. It cannot be grown
- Deep learning - patches are all you need
- Deep learning (incremental learning) -- iccv2021:ss-il: separated softmax for incremental learning
- D2SC-GAN:基于双深浅通道生成对抗网络的课堂场景低分辨率人脸识别
猜你喜欢

2: Why read write separation

Record the problems encountered in online capacity expansion server nochange: partition 1 is size 419428319. It cannot be grown

Paper reading notes of field low resolution face recognition based on selective knowledge extraction

UNL-类图

深度学习数据窃取攻击在数据沙箱模式下的威胁分析与防御方法研究阅读心得

微信小程序制作模板套用时需要注意什么呢?

Reinforcement learning - proximal policy optimization algorithms

Deep learning (self supervised: Moco V3): An Empirical Study of training self supervised vision transformers

5、 Video processing and GStreamer

self-attention学习笔记
随机推荐
alpine,debian替换源
小程序开发解决零售业的焦虑
Marsnft: how do individuals distribute digital collections?
《On Low-Resolution Face Recognition in the Wild:Comparisons and New Techniques》低分辨率人脸识别论文解读
Construction of redis master-slave architecture
Bert的使用方法
self-attention学习笔记
What are the general wechat applet development languages?
深度学习(增量学习)——ICCV2021:SS-IL: Separated Softmax for Incremental Learning
Deep learning (self supervision: simple Siam) -- Exploring simple Siamese representation learning
What is the process of building a small program?
tf.keras搭建神经网络功能扩展
Basic usage of word2vec and Bert
Deep learning (self supervised: Moco V3): An Empirical Study of training self supervised vision transformers
Distributed cluster architecture scenario optimization solution: distributed scheduling problem
Reinforcement learning - proximal policy optimization algorithms
Matplotlib data visualization
深度学习——MetaFormer Is Actually What You Need for Vision
一、AMD - OpenVINO环境配置
TensorFlow2.1基本概念与常见函数