V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
villivateur
V2EX  ›  分享创造

我做了一款实验性的数字隐形水印消除器

  •  1
     
  •   villivateur ·
    villivateur · 2022-03-07 09:01:30 +08:00 · 7579 次点击
    这是一个创建于 775 天前的主题,其中的信息可能已经有所发展或是发生改变。

    数字隐形水印一般采用以下方案:

    1. 频域添加信息
    2. 人眼分辨不出的色差
    3. 特殊字体 等。

    我尝试把图片先转换成矢量图,再转换成位图,同时减少色彩位深,以达到消除上述水印的效果。

    用到了 VTracer 这个工具。

    体验地址: https://de.vvzero.com

    目前能较好地实现手机截图的转换,欢迎专业人士给出意见。

    本人用 这个工具 做了测试,发现可以消除水印。

    第 1 条附言  ·  2022-03-22 11:41:49 +08:00
    25 条回复    2022-09-08 01:32:08 +08:00
    yolee599
        1
    yolee599  
       2022-03-07 09:12:48 +08:00
    主要是不知道隐形水印用什么方法加上去的,有时候会用好几种算法做冗余,防不胜防
    madlifer
        2
    madlifer  
       2022-03-07 09:25:15 +08:00
    之前看过一个隐形水印合同生成器,他是把随机一个位置随机大小(大概不超过 10px*10px)的一个区域扣下来经过扭曲变形操作后再给他粘上去。如果是识别出字母的话还会给他调整字体和大小。

    他那种不算完整的隐形水印,仔细看能看出一点点差异。
    3dwelcome
        3
    3dwelcome  
       2022-03-07 09:29:57 +08:00
    VTracer 官方不是提供了 wasm 版本?

    那你为什么还要把图片上传到服务器啊,浏览器内运行不是挺好的。
    villivateur
        4
    villivateur  
    OP
       2022-03-07 09:31:34 +08:00
    @3dwelcome 矢量图转换到位图我没找到浏览器运行的版本
    3dwelcome
        5
    3dwelcome  
       2022-03-07 09:36:40 +08:00
    VTracer github 上就有写啊,仔细看文字“The webapp is a perfect showcase of the capability of the Rust + wasm platform.”

    官网就是纯离线,浏览器版本的 rust 代码。
    h1997l1997
        6
    h1997l1997  
       2022-03-07 09:38:20 +08:00
    还行
    3dwelcome
        7
    3dwelcome  
       2022-03-07 09:41:14 +08:00
    顺便说一句,有些人可能觉得浏览器 wasm 和 JS 一样,跑起来会比本地运行 exe 慢。

    但其实运行贼快,一点都不慢。
    Buges
        8
    Buges  
       2022-03-07 09:52:57 +08:00 via Android   ❤️ 1
    对大部分文字信息截图来说,直接二值化能否消去 /暴露盲水印?
    villivateur
        9
    villivateur  
    OP
       2022-03-07 09:53:27 +08:00
    @Buges 特殊字体的话,可能无法消除
    leimao
        10
    leimao  
       2022-03-07 12:11:15 +08:00
    前几天网易新闻客户端好像给我推送了一个字节跳动做的这个东西,申了专利还是啥。
    leimao
        11
    leimao  
       2022-03-07 12:12:14 +08:00
    可能还是我记错了
    leimao
        12
    leimao  
       2022-03-07 12:14:11 +08:00
    不懂就问,隐形数字水印,对我们普通用户非商业用途盗图,有影响吗?
    villivateur
        13
    villivateur  
    OP
       2022-03-07 12:54:58 +08:00
    @leimao 你可以了解一下豆瓣截图隐形水印
    leimao
        14
    leimao  
       2022-03-07 13:30:10 +08:00
    @villivateur 不是商业用途一般来说都无所谓吧
    Juszoe
        15
    Juszoe  
       2022-03-07 14:06:38 +08:00
    对原图破坏有些大
    villivateur
        16
    villivateur  
    OP
       2022-03-07 14:19:24 +08:00
    @3dwelcome 你没理解我的意思,我说的是矢量图转换到位图
    3dwelcome
        17
    3dwelcome  
       2022-03-07 14:30:15 +08:00
    @villivateur 其实也还好,前端有 canvas ,把矢量图转换成位图,还是相对容易的。

    最大的困难在于位图转到矢量图。
    allen333
        18
    allen333  
       2022-04-13 15:07:14 +08:00 via iPhone
    怎么链接打不开了呢
    villivateur
        19
    villivateur  
    OP
       2022-04-13 15:49:29 +08:00 via Android
    @allen333 修复了
    allen333
        20
    allen333  
       2022-04-13 16:03:02 +08:00 via iPhone
    @villivateur 谢谢!
    sourwood
        21
    sourwood  
       2022-07-17 21:14:00 +08:00 via Android
    这个能做成在安卓端上实现自动去数字水印的 app 吗?🥹
    sutra
        22
    sutra  
       2022-09-04 20:51:43 +08:00
    好像是要登录后才有,谁能给我欣赏一下,水印是什么样子的?
    systemcall
        23
    systemcall  
       2022-09-05 01:10:17 +08:00   ❤️ 1
    试了一下,会严重干扰文字
    不知道能不能先 OCR 一遍,把文本提取出来,同时识别所用的字体
    再把那些区域用纯色填充
    最后再把文字渲染回去
    同时应该还可以防通过渲染文字的时候调整字体、间距等的水印
    villivateur
        24
    villivateur  
    OP
       2022-09-05 08:32:36 +08:00
    @systemcall 我也不知道为啥,电脑截图干扰很严重,手机截图就很清晰,可能需要一个数学大神解释一下
    zerofancy
        25
    zerofancy  
       2022-09-08 01:32:08 +08:00
    不错的思路,不过确实有文字信息影响问题。可能算法 /参数调整的还不够好,我试了下 vector magic 转换矢量图效果就好很多,不过是收费的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2861 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 13:11 · PVG 21:11 · LAX 06:11 · JFK 09:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.