我做了一款实验性的数字隐形水印消除器 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
villivateur
1.57D

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

  •  1
     
  •   villivateur 2022 年 3 月 7 日 8891 次点击
    这是一个创建于 1510 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    用到了 VTracer 这个工具。

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

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

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

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

    他那种不算完整的隐形水印,仔细看能看出一点点差异。
    3dwelcome
        3
    3dwelcome  
       2022 年 3 月 7 日
    VTracer 官方不是提供了 wasm 版本?

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

    官网就是纯离线,浏览器版本的 rust 代码。
    h1997l1997
        6
    h1997l1997  
       2022 年 3 月 7 日
    还行
    3dwelcome
        7
    3dwelcome  
       2022 年 3 月 7 日
    顺便说一句,有些人可能觉得浏览器 wasm 和 JS 一样,跑起来会比本地运行 exe 慢。

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

    最大的困难在于位图转到矢量图。
    allen333
        18
    allen333  
       2022 年 4 月 13 日 via iPhone
    怎么链接打不开了呢
    villivateur
        19
    villivateur  
    OP
       2022 年 4 月 13 日 via Android
    @allen333 修复了
    allen333
        20
    allen333  
       2022 年 4 月 13 日 via iPhone
    @villivateur 谢谢!
    sourwood
        21
    sourwood  
       2022 年 7 月 17 日 via Android
    这个能做成在安卓端上实现自动去数字水印的 app 吗?
    sutra
        22
    sutra  
       2022 年 9 月 4 日
    好像是要登录后才有,谁能给我欣赏一下,水印是什么样子的?
    systemcall
        23
    systemcall  
       2022 年 9 月 5 日   1
    试了一下,会严重干扰文字
    不知道能不能先 OCR 一遍,把文本提取出来,同时识别所用的字体
    再把那些区域用纯色填充
    最后再把文字渲染回去
    同时应该还可以防通过渲染文字的时候调整字体、间距等的水印
    villivateur
        24
    villivateur  
    OP
       2022 年 9 月 5 日
    @systemcall 我也不知道为啥,电脑截图干扰很严重,手机截图就很清晰,可能需要一个数学大神解释一下
    zerofancy
        25
    zerofancy  
       2022 年 9 月 8 日
    不错的思路,不过确实有文字信息影响问题。可能算法 /参数调整的还不够好,我试了下 vector magic 转换矢量图效果就好很多,不过是收费的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3062 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 2014ms UTC 02:26 PVG 10:26 LAX 19:26 JFK 22:26
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86