图像添加水印

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

  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,但应根据实际效果合理设定。γ 值则用于细调图像的亮度。
相关推荐
小豆庄23 分钟前
视频遮罩追踪退场后ID撞号的排查—多目标场景下的失效
opencv·算法·bug·视频·python3.11
zwc32104320557 小时前
Day 2:图像内存、数据类型与stride
c++·人工智能·opencv·算法·计算机视觉
誰能久伴不乏8 小时前
OpenCV 入门(二):像素访问、ROI 与深浅拷贝
人工智能·opencv·计算机视觉
zwc32104320559 小时前
第四周第五天——重构成类
c++·人工智能·opencv·算法·计算机视觉
Solange__10 小时前
物流园区怎么用AI生成3D调度预演?从道路底图、车辆转弯到网页评审
图像处理·人工智能·游戏·3d·ai·自然语言处理·关卡设计
椒颜皮皮虾྅10 小时前
模型部署不再卡在环境上:DeploySharp 四大推理引擎与 Windows/Linux 离线交付实战
linux·运维·开发语言·人工智能·windows·计算机视觉·cuda
zwc321043205511 小时前
Day 5:threshold与inRange阈值分割
c++·图像处理·人工智能·opencv·算法·计算机视觉
拜小白1 天前
【论文解读】ZInD:带标注平面图、360° 全景与 3D 房间布局的 Zillow 室内数据集
深度学习·计算机视觉·全景图
楚山之石1 天前
【Lancet Neurology 】多发性硬化认知障碍的 SDMT 筛查、灰质萎缩标志与认知康复循证路径
图像处理·人工智能·学习·mri
美狐美颜sdk1 天前
视频美颜SDK中的YUV与RGBA格式有什么区别?直播APP开发解析
人工智能·计算机视觉·音视频·美颜sdk·直播美颜sdk·视频美颜sdk