# blind_watermark
**Repository Path**: Felix660/blind_watermark
## Basic Information
- **Project Name**: blind_watermark
- **Description**: 基于傅里叶变换的数字盲水印
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 7
- **Forks**: 2
- **Created**: 2020-09-19
- **Last Updated**: 2025-01-17
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# blind-watermark
基于傅里叶变换的数字盲水印
## 如何使用
嵌入水印
```python
from blind_watermark import WaterMark
bwm1 = WaterMark(4399, 2333, 36, 20)
# 读取原图
bwm1.read_ori_img('pic/原图.jpg')
# 读取水印
bwm1.read_wm('pic/水印.png')
# 打上盲水印
bwm1.embed('output/打上水印的图.png')
```
提取水印
```python
from blind_watermark import WaterMark
bwm1 = WaterMark(4399, 2333, 36, 20, wm_shape=(128, 128))
# 注意需要设定水印的长宽wm_shape
bwm1.extract('output/打上水印的图.png', 'output/解出的水印.png')
```
## 效果展示
|原图|水印|
|--|--|
|||
|嵌入后的图|提取的水印|
|--|--|
|||
### 各种攻击后的效果
|攻击方式|攻击后的图片|提取的水印|
|--|--|--|
|多遮挡
[多遮挡攻击.py](examples/多遮挡攻击.py)|||
|横向裁剪10%
[横向裁剪攻击.py](examples/横向裁剪攻击.py)|||
|纵向裁剪10%
[纵向裁剪攻击.py](examples/纵向裁剪攻击.py)|||
|缩放攻击(1200X1920->600X800)
[缩放攻击.py](examples/缩放攻击.py)|||
|椒盐攻击
[椒盐击.py](examples/椒盐.py)|||
|亮度提高10%
[亮度调高攻击.py](examples/亮度调高攻击.py)|||
|亮度调低10%
[亮度调暗攻击.py](examples/亮度调暗攻击.py)|||