gitee 開源代碼(java)
https://gitee.com/chejiangyi/shuiyin/tree/master需求概述
研究盲水印對于著作權保護的效果和能力研究嘗試概述
水印實作: 大部分的python或者java演算法都基于頻域的盲水印效果, 涉及的演算法: 傅里葉變換, 開源相關: 大部分是python演算法居多,也有java的一些傅里葉實作,少部分其他語言實作, 涉及的框架: opencv (用來處理圖片)圖片盲水印方式
1. 二維碼(本質是圖片) 盲水印(未嘗試) 2. 圖片盲水印(初步嘗試,未深入,初步效果不佳) 3. 文本盲水印(已嘗試) 圖片盲水印:初步嘗試一個傅里葉演算法,發現在截圖等復雜場景干擾下,似乎沒有文本盲水印抗干擾能力強;但是沒有深入印證其他多種演算法效果, 文本盲水印:經過幾輪嘗試,發現文本盲水印會效果好,但是在一些場景下圖片會有一些失真(對比原圖),色澤會變淺, 在其他抗干擾(截圖,縮放,涂改)情況下效果還可以,圖片失真的情況,在不同傅里葉演算法中,效果不一樣,有些不失真,但是效果抗干擾能力差,文本盲水印嘗試詳解
一. 目前java 有三種demo沉淀
第一種:
第三種:
整體演算法代碼行不多,核心在于演算法本身,具體演算法實作原理網上論文很多,但是真正能商用的效果不好,
dct 一般用于圖片演算法,dft 一般用于文本演算法,當然文本也可以以圖片的方式顯示中文,
三種總體效果都差不多,但是在干擾情況下差異還是很大的,
參考網上的一段盲水印的注意點描述:
目前沒有用真實的圖片效果和實際場景做測驗,從而排除額外的一些情況,所以沒辦法確定真實的場景是否有效,或者是否可以規避一些不可能存在的實際場景,初步與產品確認,測驗效果還可以,但不是很理想,比如一些截圖30%,20%的情況下,部分圖片資訊無法有效還原“盲水印”,一些非原圖處理(比如采用微信和飛書截圖)之后,圖片變成jpg壓縮,此時盲水印可能無法有效還原檢測,原圖或者加水印后的圖盡量都使用png或者bmp,加水印后,圖片會有略微明顯的色澤變化(但是其中有些演算法好像變化不大,沒有大范圍細節測驗,但是這種情況帶來抗干擾能力差較多),
二. 目前python 效果測驗
python 是目前盲水印演算法最多的案例和demo,在github上發現一些python演算法一般加的是圖片盲水印(非文字盲水印),但是沒有詳細測驗效果(主要是沒精力),網上fork數或者關注數多的盲水印,實際測驗效果并不佳,比如:https://github.com/guofei9987/blind_watermark 這個盲水印可以支持文字隱藏,但是實際進行截圖和干擾的時候發現文字水印無法如期提取,跟實際描述的檔案有較大差異,可能是姿勢不對,其他的水印效果未深入,未來有更多精力后再深入投入實際場景做驗證,三. 云服務測驗
目前云服務中支持的,主要有七牛云和騰訊云,七牛云更偏圖片處理,所以用七牛云做測驗(騰訊云未測)但是實際效果也不是很理想, 七牛云盲水印恢復靠的是原始圖片(可能是通過水印圖和原始圖對比),從而恢復水印(這種手法可能要與產品商量實際場景行不行),同樣也有version 3第三種演算法實作盲水印,可以在水印圖中提取水印,經過測驗version 3的實作,在圖片截圖和縮放等干擾情況下,恢復水印的能力會差很多,丟失的資訊更多,不如網上的一些開源演算法,所以云服務效果不盡如意,總結筆記
盲水印總體效果不是很成熟,但是作為輔助著作權驗證應該還是可以的(除了圖片會增加一些大小),關鍵還是在于實際業務場景, 同時自身也不是圖片處理相關專家,很多細節和引數也不敢調整,也無法真正有效結合實際業務場景發揮和調優演算法, 所以真正落地盲水印,后續需要在幾個方面努力: 1)需要專職的一名圖片處理專家或者外聘專家支援, 2)大量的實際場景的圖片和用戶干擾的案例圖做多次驗證, 3)通過機器學習進行演算法引數調優,測驗效果示例
常用案例測驗:
參考資料
隱性水印或是叫盲水印軟體介紹 https://ningbocat.com/post/1613.html 有意思的數字盲水印的簡單的實作 https://www.cnblogs.com/Imageshop/p/10097854.html opencv https://opencv.org/ 隱寫術 https://www.jianshu.com/p/08041bcf0f23 隱藏水印幾個注意點 https://blog.csdn.net/linyacool/article/details/71506638 java 水印代碼 https://github.com/ww23/BlindWatermark/ https://github.com/maohuihua123/BlindWatermark https://github.com/aaronwong1989/blind-watermark https://github.com/hanbings/moe-mark python https://github.com/guofei9987/blind_watermark jpg截圖等場景下幾乎無法還原, https://github.com/fire-keeper/BlindWatermark 非文字水印 第三方云服務 七牛云 https://developer.qiniu.com/dora/5915/blind-watermarking-processing 騰訊云 https://cloud.tencent.com/document/product/436/46781轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/491455.html
標籤:Java
