1. pyWavelets小波工具包安装:
pip install PyWavelets -i https://pypi.douban.com/simple --default-timeout=1000
2. pyWavelets例子
二维Haar小波
import cv2
import pywt
import numpy as np
import matplotlib.pyplot as plt
img_gray = cv2.imread("baboon.bmp", cv2.IMREAD_GRAYSCALE).astype(np.float32)
cA_l1, (cH_l1, cV_l1, cD_l1) = pywt.dwt2(img_gray, 'haar')
cA_l2, (cH_l2, cV_l2, cD_l2) = pywt.dwt2(cA_l1, 'haar')
# 将各个子图进行拼接,最后得到一张图
AH_l2 = np.concatenate([cA_l2, cH_l2], axis=1)
VD_l2 = np.concatenate([cV_l2, cD_l2], axis=1)
img_wt_l1 = np.concatenate([AH_l2, VD_l2], axis=0)
AH_l1 = np.concatenate([img_wt_l1, cH_l1], axis=1)
VD_l1 = np.concatenate([cV_l1, cD_l1], axis=1)
img_wt = np.concatenate([AH_l1, VD_l1], axis=0)
print(cV_l1)
cV_l1[:, :] = 0
VD_l1 = np.concatenate([cV_l1, cD_l1], axis=1)
img_wt_marked = np.concatenate([AH_l1, VD_l1], axis=0)
img_marked = pywt.idwt2((cA_l1, (cH_l1, cV_l1, cD_l1))