通过matlab,基于DCT变换,利用hvs实现水印嵌入强度自适应

article/2025/10/17 2:48:54

 我真的会谢,为什么我跑出来是一片黑呀?本matlab小白跪求matlab大佬答疑解惑555555感谢

 以下是我的程序:

% 读取原始图像和水印图像
I = imread('lena.bmp');
W = imread('waterMark.bmp');% 将图像转为灰度图,并将水印调整为与原始图像大小一致
I = im2gray(I);
W = im2gray(W);
W = imresize(W, size(I));% 将灰度图像归一化到0~1之间
I = double(I) / 255;% 将水印图像二值化为0或1,并将其归一化到0~1之间
W = imbinarize(W);
W = double(W);% DCT变换处理
BLOCKSIZE = 8;
dctmtx8 = dctmtx(BLOCKSIZE);
Q = round(dctmtx8 * (dctmtx8'));
siz = size(I);
nblocksX = siz(1) / BLOCKSIZE;
nblocksY = siz(2) / BLOCKSIZE;
for i = 1:nblocksXfor j = 1:nblocksY% 提取8x8块block = I((i-1)*BLOCKSIZE+1:i*BLOCKSIZE, (j-1)*BLOCKSIZE+1:j*BLOCKSIZE);% DCT变换freq = Q * block * Q';% 计算子区域的HVS权值HVSWeight = hvs(freq);% 调整水印嵌入强度自适应alpha = 0.5 * (max(max(freq)) - min(min(freq))) * (1 - mean2(W((i-1)*BLOCKSIZE+1:i*BLOCKSIZE, (j-1)*BLOCKSIZE+1:j*BLOCKSIZE)));alpha = alpha ./ HVSWeight;% 嵌入水印freq = freq + alpha * (W((i-1)*BLOCKSIZE+1:i*BLOCKSIZE, (j-1)*BLOCKSIZE+1:j*BLOCKSIZE) - 0.5);% IDCT反变换block = Q' * freq * Q;% 更新原始图像对应块I((i-1)*BLOCKSIZE+1:i*BLOCKSIZE, (j-1)*BLOCKSIZE+1:j*BLOCKSIZE) = block;end
end% 显示处理后的图像并保存
imshow(I)
imwrite(I, 'watermarked_image.jpg');function Weight = hvs(freq)
% 计算子区域的HVS权值
[H,W] = size(freq);
if mod(H,2) == 0rows = [0: (H/2 - 1) , -(H/2): -1];
elserows = [0 : (H-1)/2, -(H-1)/2: -1];
end
if mod(W,2) == 0cols = [0: (W/2 - 1) , -(W/2): -1];
elsecols = [0 : (W-1)/2, -(W-1)/2: -1];
end
[X,Y] = meshgrid(cols,rows);
f = sqrt(X.^2 + Y.^2);
M = f ./ (0.008*f + 0.45);
S = 2.6 * (0.0192*f + 1) .^ (-0.114) - 0.08;
Weight = M .* S;
end

lena.bmp大小是512x512

waterMark.bmp大小是64x64但后来缩放到和载体图像一样大了

 

 感觉放不放我的载体图像和水印图像都问题一样,csdn还自动给图片加了水印


http://chatgpt.dhexx.cn/article/ff0ulY4R.shtml

相关文章

基于HVS 的结构相似性的视频质量评价

清华大学的汪志兵, 廖煜鹏, 汪 博, 秦明海, 林行刚等人在《通信技术》2010年第2期上发表。   HVS 对不同频率分量的敏感性不同,对视频帧不同部分的关注度也不相同。 为了达到更好的效果,论文中引入3 个因…

一种基于HVS特性的视频质量评测方法

本篇论文是由厦门大学的袁飞,黄联芬,姚彦发表于《光电工程》2008年1月刊上。   本文针对视频质量的评测应用,通过在视频帧内图像和帧间图像的处理过程中引入人眼视觉系统(HVS)的主要特性,克服传统PSNR 算法在序列质量检测应用方…

数字水印算法matlab源程序 matlab版数字水印算法 /DCT/DWT/LSB/HVS/W-SVD数字水印源码 数字水印的嵌入和提取 W-SVD数字水印实现

发以下多套系统源码: 1、matlab版数字水印算法 2、MATLAB数字水印 源代码文档 3、数字水印技术matlab代码 4、数字水印 JPEG压缩 matlab代码 5、数字水印 添加噪声 matlab代码 6、各种数字水印的matlab源代码(有DFT,DCT,小波变换等…

基于hvs图像水印matlab和psnr nc的计算 首先读取图像和水印,进行图像加印

基于hvs图像水印matlab和psnr nc的计算 首先读取图像和水印,进行图像加印 然后进行攻击 攻击方式有白噪声,裁剪,旋转10度,压缩,和无攻击,然后最后还原水印。 ID:31314617581701451好好学习

opencv RGB2HVS

RGB色彩空间和HSV色彩空间的理解 本文的结构如下: 1、RGB色彩空间 2、HSV色彩空间(附HSV颜色分量范围表) 3、RGB到HSV的转换的Demo   使用OpenCV实现RGB转HSV,并通过滑动条动态设定HSV阈值   自己写程序,实现…

HVS颜色模型(六角锥体模型)

色调(H):用角度度量,取值范围为0~360,从红色开始按逆时针方向计算,红色为0,绿色为120,蓝色为240、他们的补色是:黄色为60,青色为180,紫色为300&am…

ISP——HVS

本片博文是一篇笔记,是在看论文的时候碰到下面一段话,反复把论文看了三遍才弄懂,刚开始老觉得和gamma的特性是反的,还一度怀疑论文些错了,经过反复琢磨才弄明白,故此写下笔记记录 Higher gap in intensity…

HVS的真相

HVS的真相 人眼视觉系统( human visual system,HVS)是人类通过感知光线形成视觉的系统,是人类捕获外界信息最关键的系统之一。HVS在视频编码的主观优化中发挥重要作用。关于HVS有以下特性不得不知: HVS对高频信号的失…

人类视觉系统(Human Visual System,HVS)

人类通过人类视觉系统(HVS)来获取外界图像信息,当光辐射刺激人眼时,将会引起复杂的生理和心理变化,这种感觉就是视觉。 人类视觉系统(HVS)作为一种图像处理系统,它对图像的认知是非均…

数据库三范式与反范式详解(一看就懂)

目 录 范式与反范式1.第一范式2.第二范式3.第三范式4.反范式 范式与反范式 范式化设计 通过满足下面提出的三条范式规则,尽可能的避免出现数据冗余 因为数据冗余会带来,数据UPDATE更新遗漏问题(毕竟SQL是人写的~) 反范式化设计 目…

数据库三范式举例详解

整理不易,转发请注明出处,请勿直接剽窃! 点赞、关注、不迷路! 摘要: 1NF、2NF、3NF 关系型数据库一共有6种范式,越高的范式数据库冗余越小。一般情况下,在关系型数据库中通常将数据规范化为第三…

第十章 数据库三范式

概念 • 必须保证数据库设计的合理性 ​ 数据库设计关系整个系统的架构,关系到后续开发效率和运行效率 ​ 数据库的设计主要包含了设计表结构和表之间的联系 • 如何是合理数据库 ​ 结构合理 ​ 冗余较小 ​ 尽量避免插入删除修改异常 • 如何才能保证数据库设计水…

数据库三范式 事务

范式是具有最小冗余的表结构。 数据库三范式具体如下: 1、 第一范式(1st NF -列都是不可再分) 第一范式的目标是确保每列的原子性: 如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式&…

数据库三范式与反范式详解

🏆今日学习目标: 🍀数据库三范式与反范式详解 ✅创作者:林在闪闪发光 ⏰预计时间:30分钟 🎉个人主页:林在闪闪发光的个人主页 🍁林在闪闪发光的个人社区,欢迎你的加入: 林…

数据库三范式是什么?

什么是范式? 简言之就是,数据库设计对数据的存储性能,还有开发人员对数据的操作都有莫大的关系。所以建立科学的,规范的的数据库是需要满足一些规范的来优化数据数据存储方式。在关系型数据库中这些规范就可以称为范式。 什么是三…

数据库三范式简单理解

数据库设计当中三范式是经常遇到的,如果实际项目数据库设计中能达到第三范式基本也就满足要求了,那么如何快速有效的理解三个范式,同时应用于实际项目中去呢? 首先看看标准定义的三个范式: 第一范式(1NF)…

数据库三大范式

数据库三大范式 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操…

数据库三范式3NF指什么?

三范式面试的时候问的比较多,概念需要了解下: 数据库设计三大范式 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系…

数据库的三范式详细解释

1.定义 三范式是数据库的规范化的内容,所谓的数据库三范式通俗的讲就是设计数据库表所应该遵守的一套规范,如果不遵守就会造成设计的数据库不规范,出现数据库字段冗余,数据的查询,插入等操作等问题。 注意:…