首页 > 其他分享 >暗水印——空域:二值化图像水印(看不见我吧 啦啦啦~)

暗水印——空域:二值化图像水印(看不见我吧 啦啦啦~)

时间:2024-05-17 15:29:34浏览次数:21  
标签:原图 canvas 图像 水印 空域 鲁棒性 argb 二值化

引言

    随着计算机和网络技术的飞速发展,信息的安全保护问题日益突出。数字图像、音频和视频等多媒体数字产品愈来愈需要一种有效的版权保护方法——水印技术,通常用于保护知识产权、防止未经授权的访问、作弊等。
    广义上可以把水印技术划分为四大类:图像水印、视频水印、音频水印和文本水印。这些水印技术都有其独特的特点和应用场景,需要根据具体的数字媒体保护需求进行选择使用。

技术与实践意义

    本文以“多通道、多层水印”为目标,旨在让操作人员通过自定义的方式,制作水印信息,深入体验水印“添加”、“提取”的全过程,及水印抵抗攻击手段后的“鲁棒性”对比。

二值化图像水印算法

水印添加

    1. 通过canvas将原图转化为argb数组,同时用canvas绘制同等大小的水印图像,同样转化为argb数组; 
    2. 将原图的argb中的red位置元素的最后一位舍去(red取值为0~255)即偶数不变,奇数-1;
    3. 判断水印图像的同一像素点的元素的alpha的值是否为0,不为0说明当前像素点有文字像素存在, 将原图的argb中的red位置元素的最后一位置为1,即原值+1; 
    4. 将原图的改变后的argb数组重新写入canvas中并生成base64图像。 

提取水印

    遍历修改后的图的argb数组,如果red位置为奇数(最后一位为1), 则将对应位置的水印像素点rgb置为255,否则置为0,alpha位置都是255, 然后将生成的水印argb数组通过canvas显示在img中。

工程效果展示

水印的添加与提取

    本文以一个落地的简易数字水印系统为例。系统可以定义水印类型,上传图像、文本、音频等,生成可见或不可见的水印,之后可以提取出水印信息。通过一些攻击手段验证水印算法的鲁棒性,如PS等。
    用户输入用户名及手机号,验证通过后,即可进入系统界面,所添加的水印信息来源于用户名及手机号,如下图:

image.png

水印的鲁棒性测验

    用户通过一些攻击手段可以验证水印算法的鲁棒性,如PS等,主要有二十种攻击操作的测试图片,测试素材如下图:

image.png

    这里列举暗水印——空域算法中图像色相+20的攻击实验:

image.png
image.png

    以上是对系统操作的一个简易步骤说明,此算法计算复杂度相对较低;对图像视觉效果影响很小;但鲁棒性较低,对比明水印,效果还是可观的

标签:原图,canvas,图像,水印,空域,鲁棒性,argb,二值化
From: https://www.cnblogs.com/Jcloud/p/18197861

相关文章

  • 基于Vue3水印组件封装:防篡改守护!
    基于Vue3的全新水印通用组件。这款组件不仅功能强大,而且易于集成,能够轻松为您的网页或应用添加自定义水印,有效防止内容被篡改或盗用。在线查看效果:原文可查看效果地址一,编写watermark组件<template><divref="watermarkContainerRef"class="watermark-container">......
  • 暗水印——空域:音频水印(看不见我吧 啦啦啦~)
    引言随着计算机和网络技术的飞速发展,信息的安全保护问题日益突出。数字图像、音频和视频等多媒体数字产品愈来愈需要一种有效的版权保护方法——水印技术,通常用于保护知识产权、防止未经授权的访问、作弊等。广义上可以把水印技术划分为四大类:图像水印、视频水印、音频水印和文......
  • 华企盾DSC数据防泄密软件有哪些水印功能?
    在企业数据安全领域,水印技术是一种重要的信息保护策略,用于防止数据泄露和确保信息的原始性和完整性。根据回顾的资料,以下是企业中常用的几种水印技术:屏幕浮水印:这种水印能够在用户的屏幕上显示公司的标志或者其他重要信息,用于防止拍照泄密。用户可以自定义屏幕浮水印的字体、......
  • text_blind_watermark%3A 给文本加隐水印
    项目简介文本隐水印,用来把一段信息嵌入到一段明文中,使信息隐密不可见,并且旁人无法察觉到嵌入后明文的变化。经测试,在这些场景下信息隐藏比较完美MacBook版本的Chrome浏览器,包括知乎网页版、微博网页版等。微信、钉钉。Mac/Iphone版均可苹果备忘录用Chrome打开github......
  • El-Upload组件上传图片并添加水印
    背景有的时候我们需要在上传图片中添加一些水印标识,然后上传至服务器效果图代码需求:点击直接预览图片,而不需要使用dialog上传图片添加水印后才预览图片上传图片文件添加水印。使用watermarkjs库转换将添加水印的图片转换成base64,更新预览图片的内容,否则预览的......
  • 界面组件DevExpress Reporting中文教程 - 如何按条件显示页面水印?
    DevExpressReporting是.NETFramework下功能完善的报表平台,它附带了易于使用的VisualStudio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表。从防止未经授权的使用到建立所有权和真实性,文本和图像水印可以作为数字指纹。在最近的更......
  • text_blind_watermark%3A 给文本加隐水印
    项目简介文本隐水印,用来把一段信息嵌入到一段明文中,使信息隐密不可见,并且旁人无法察觉到嵌入后明文的变化。经测试,在这些场景下信息隐藏比较完美MacBook版本的Chrome浏览器,包括知乎网页版、微博网页版等。微信、钉钉。Mac/Iphone版均可苹果备忘录用Chrome打开github......
  • 基于DCT变换的彩色图像双重水印嵌入和提取算法matlab仿真
    1.算法运行效果图预览灰度图   彩色图   2.算法运行软件版本matlab2022a  3.算法理论概述      双重水印嵌入算法涉及两个独立的水印:主水印和辅水印,它们可以是灰度图像、二进制序列或其他形式的数据。以下简述嵌入过程: 图像预处理:将彩色图像从R......
  • gojs2.1去水印
    go.jsgo-debug.jsgo-module.jsES6模块go-debug-module.js这四个文件,具体看你使用哪一个搜索String.fromCharCode找到下图位置,这是我的格式化之后的样子 然后在 returnf 之前添加代码if(f.indexOf('GoJS2.1evaluation')>-1||f.indexOf('(c)1998-......
  • 使用 apache pdfbox 去除水印
    需求学习cobol过程中,找了一本电子书,但是有水印。WPS可以擦除,但是需要开通会员。能不能用java程序去除水印呢?实现先查阅一些资料,开拓视野。第一步:安装 org.apache.pdfbox:pdfbox-app:3.0.2,这是一个可执行jar,执行后可弹出Swing图形用户界面,可导入pdf文件后可查看其内部结......