图像添加水印

数字水印
**定义:**通过将特定的数字信号嵌入到数字作品中,来实现多种功能。
数字水印的主要功能包括:

  1. 信息隐藏
  2. 版权认证
  3. 完整性认证
  4. 数字签名
    图像添加水印的流程:
  5. 感兴趣区域(ROI):确定目标图像中需要处理的区域。
  6. 制作掩膜:
    灰度化:将 logo 图像转换为灰度图,以简化图像处理。
    二值化:对灰度图像进行二值化处理,生成一个黑白掩膜。
  7. 按位**"与"**运算:使用生成的掩膜与 ROI 区域进行按位"与"运算,将原始图像的 ROI 区域中需要覆盖的部分置为黑色。
  8. 图像融合:将处理过的 ROI 区域与 logo 图像进行像素级的加法运算,将 logo 图像无缝地叠加到原始图像的 ROI 区域内。
  9. 更新原始图像:将融合后的 ROI 区域覆盖到原始图像的对应位置,从而完成 logo 的叠加。

加法运算
在现实生活中,显示数据时有两种常见的处理方式:

  1. 取模处理:这种处理方式也被称为"循环取余"。
  2. 饱和处理:这种处理方式将超出范围的数值处理为最大值,因此也称为"截断处理"。
    void add (InputArray src1,//第一幅输入图像
    InputArray src2,//第二幅输入图像
    OutputArray dst,//输出结果
    InputArray mask = noArray(),//可选的掩码
    int dtype = -1 //输出图像深度
    );
    add函数的运算逻辑:

    saturate()函数用于确保运算结果在合法的像素范围内,通常是 0, 255。如果结果超出此范围,将被截断到 0 或 255。
    图像加权和
    void addWeighted(
    InputArray src1, // 第一幅输入图像
    double alpha, // 第一幅图像的权重
    InputArray src2, // 第二幅输入图像
    double beta, // 第二幅图像的权重
    double gamma, // 亮度调节值
    OutputArray dst, // 输出图像
    int dtype = -1 // 可选参数,指定输出图像的数据类型
    );
    addWeighted() 函数的运算逻辑可以用以下
    公式表示:


    图像尺寸与类型:输入的 src1 和 src2 图像必须大小一致,类型相同。
    权重与亮度: α 和 β 的和不一定为1,但应根据实际效果合理设定。γ 值则用于细调图像的亮度。
相关推荐
Martina_032130 分钟前
AI生成的海岸城市一移动镜头,水面反射就跳?用6步统一反射探针、SSR与平面反射
图像处理·人工智能·平面·3d·ai·自然语言处理·游戏策划
JMchen3 小时前
集成第三方 C/C++ 库到 Android NDK 项目:OpenCV 与 FFmpeg 实战指南
android·opencv·cmake
向哆哆3 小时前
外墙裂缝目标检测数据集:6,000+张图像 | 目标检测
人工智能·目标检测·计算机视觉
拜小白3 小时前
【论文解读】HorizonNet:用一维表示 + 全景拉伸增强来学习房间布局
计算机视觉
通信大模型3 小时前
中国科学 信息科学 | TokenCom: 面向多模态和多任务Token通信的视觉-语言模型
人工智能·计算机视觉·语言模型
LeeZhao@3 小时前
【具身智能】VLA-DM0.5:让机器人真正理解世界
人工智能·计算机视觉·机器人·agi
正经人_x5 小时前
学习日记59:PAVL
人工智能·学习·计算机视觉
拜小白5 小时前
DuLa-Net vs HorizonNet:复杂房型对决
计算机视觉
AI浩5 小时前
面向视觉预训练的对象级自蒸馏
人工智能·计算机视觉
闭包不眠5 小时前
网页转PDF字体出错不报错,我先看文件大小
图像处理·人工智能·计算机视觉·pdf