全部代码:
"""-------------------------
Project: DWT数字水印嵌入、提取
Author: Tysay
Environment: Python3.8 + VsCode
History: 2022/12/01
-------------------------"""
import cv2
import pywt
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 替换sans-serif字体
plt.rcParams['axes.unicode_minus'] = False # 解决坐标轴负数的负号显示问题
class WaterMarkDWT:
def __init__(self, origin: str, watermark: str, key: int, weight: list):
self.key = key
self.img = cv2.imread(origin)
self.mark = cv2.imread(watermark)
self.coef = weight
def imshow(self, img, title='Img', size: tuple = None):
if isinstance(img, str):
img = cv2.imread(img)
if size:
img = cv2.resize(img, size)
plt.imshow(img, cmap='gray')
plt.title(title)
plt.axis('off')
plt.show()
def arnold(self, img):
# 获取图片的行、列
r, c = img.