
Python 圖片盲水印工具 blind_watermark5 步給照片加上隱形版權保護的完整指南【免費下載鏈接】blind_watermarkBlindInvisible Watermark 圖片盲水印提取水印無須原圖項目地址: https://gitcode.com/GitHub_Trending/bl/blind_watermark你有沒有過這種經歷精心調好的一張圖發到網上第二天就在別人的主頁里看到署名都換了想維權卻發現拿不出任何能自證原創的證據。截圖、轉發、二次裁剪每一步都在抹掉你的痕跡。blind_watermark 就是為解決這個問題而生的 Python 開源工具它給你的圖片加一層圖片盲水印——水印藏在像素里肉眼看不見而提取時不需要原圖只要一張被傳播出去的圖加密碼就能把水印信息讀回來。為什么水印看不見、卻能提得出來 可以把它想象成往一鍋湯里調了一組極細微的鹽量組合。單嘗一口嘗不出來但只有你知道調味公式的人能按配方把味道稱出來。盲水印的原理類似blind_watermark 用 DWT-DCT-SVD一種把圖片拆成不同頻率成分的數學變換人眼對高頻細節不敏感把水印比特分散編碼進圖片各處的頻域系數里。因為信息被拆碎攤薄肉眼看到的就是和原圖幾乎一樣而提取時用同樣的密碼和變換反向還原比特就能重新拼回來。這就是看不見和提得出能同時成立的原因。核心實現在 blind_watermark/bwm_core.py 中。一行命令安裝十分鐘跑通 blind_watermark 教程安裝只需要一條 pip 命令pip install blind-watermark裝完后終端里會多出一個blind_watermark命令可以直接在命令行完成嵌入和提取如blind_watermark --embed --pwd 1234 原圖.jpg 水印文字 輸出.png不寫代碼也能用。如果習慣用 Python最小可跑的嵌入 提取示例不到 10 行from blind_watermark import WaterMark bwm WaterMark(password_img1, password_wm1) bwm.read_img(pic/ori_img.jpeg) bwm.read_wm(我的版權標記, modestr) bwm.embed(output/embedded.png) len_wm len(bwm.wm_bit) # 提取時必須知道這個數字 bwm1 WaterMark(password_img1, password_wm1) print(bwm1.extract(output/embedded.png, wm_shapelen_wm, modestr))運行后output/embedded.png就是打好盲水印的圖肉眼對照幾乎看不出差別最后一行打印出來的就是當初埋進去的那句我的版權標記。圖片被旋轉、裁剪、遮擋后水印還提得出來嗎 這是盲水印和貼一張 logo 圖式水印最大的差別。倉庫里的測試腳本模擬了常見傳播過程中的各種折騰下面是幾類攻擊后的實際效果旋轉 45 度之后圖歪了但按 README 中的測試流程提取得到的仍然是完整的水印文本。橫向裁掉一部分再填補水印信息依然能讀出來。遮擋的情況更直觀——下面這張圖被多處涂抹遮擋提取結果不變除旋轉、裁剪、遮擋外examples/example_str.py 里還包含縮放、椒鹽噪聲、亮度調整等攻擊的完整復現代碼recover.py提供了裁剪還原輔助函數可以自己改參數驗證邊界在哪里。用之前要知道的三件事1. 水印有三種形態按需選擇。read_wm的mode參數支持str一段文字、img一張小圖如二維碼圖案、bit一串 0/1 數據。嵌入圖片水印可參考 examples/example_img.py嵌入比特流見 examples/example_bit.py。2. 密碼是提取的前提。password_img和password_wm兩個參數分別控制找圖的位置和解亂序的密碼。忘了解密密鑰任何人都提不出內容所以自己先記牢再分發。3. 提取時必須告訴程序水印長度。extract(..., wm_shape...)里的wm_shape是水印比特數文字模式下就是len(wm_bit)圖片模式是長寬比特模式是比特個數。嵌入時打印并保存這個數字否則無法提取。另外比特模式提取結果是 0~1 之間的浮點數需要自行設閾值判斷。下一步跑一個現成腳本到這里blind_watermark 的加隱形水印閉環已經完整了嵌入無感、提取無需原圖、常見攻擊后仍可讀取。與其只讀文章不如打開 examples/example_str.py 跑一遍——它會依次演示嵌入、提取和多種攻擊下的還原全程只需要倉庫里自帶的示例圖片幾行輸出就能親眼看到水印被準確讀回?!久赓M下載鏈接】blind_watermarkBlindInvisible Watermark 圖片盲水印提取水印無須原圖項目地址: https://gitcode.com/GitHub_Trending/bl/blind_watermark創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考