图像添加水印

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

  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,但应根据实际效果合理设定。γ 值则用于细调图像的亮度。
相关推荐
欧特克_Glodon11 小时前
OpenCV计算机视觉开发入门与实践<二十七>:图像分割概述
c++·人工智能·opencv·计算机视觉
hahaha60161 天前
HLS高层次综合设计技巧--C++类和模板
图像处理·人工智能·算法·计算机视觉
qq_25294131681 天前
航拍羊群目标检测数据集 | 航拍羊群 智慧畜牧业 动物检测 无人机巡检5010期
人工智能·yolo·目标检测·计算机视觉·无人机·羊群识别·羊群
yyk333241 天前
OpenCV中运动目标检测
opencv·目标检测·目标跟踪
AndrewHZ1 天前
图像处理入门021 | 直方图:图像像素分布的可视化 —— cv2.calcHist 与 4 类典型分布
图像处理·opencv·直方图·直方图均衡化·cdf·灰度直方图·多通道直方图
音视频牛哥1 天前
拆解人形机器人:从关节、灵巧手到VLA与媒体神经系统
机器学习·计算机视觉·机器人
爱吃火鸡面呀1 天前
OpenCV 实战:文档扫描与神经风格迁移完整指南
人工智能·opencv·计算机视觉
java1234_小锋1 天前
YOLO26 计算机视觉 - 训练自己的 YOLO26 模型
人工智能·yolo·机器学习·计算机视觉·yolo26
Hello-FPGA1 天前
量子计算滨松c15550-22up单光子相机与PCIe1004采集卡
人工智能·计算机视觉·fpga开发
梦想的颜色1 天前
【AI科普】什么是计算机视觉:硬核科普,它和大 AI 大模型到底是什么关系
人工智能·深度学习·计算机视觉·多模态·aiagent·#vlm·ai工程实战