小波变换(附代码)

 具体讲解见:这俩是我觉得讲的最清晰的,入门最容易懂的,我想要的是小波变换后的4个信息图,具体代码如下:

(25条消息) 【小波变换】小波变换入门----haar小波_1273545169的博客-CSDN博客_haar小波
(25条消息) 图像Haar小波变换_火车侠hcq的博客-CSDN博客_haar滤波器

import numpy as np
import pywt
import cv2
import matplotlib.pyplot as plt


def haar_img():
    img_u8 = cv2.imread("./data/mini-MedPath/images/n001001.JPG")
    img_f32 = cv2.cvtColor(img_u8, cv2.COLOR_BGR2GRAY).astype(np.float32)

    plt.figure('二维小波一级变换')
    coeffs = pywt.dwt2(img_f32, 'haar')
    cA, (cH, cV, cD) = coeffs

    plt.imshow(cH, 'gray')
    plt.imsave('cH.png', cH, cmap='gray')

    plt.imshow(cA, 'gray')
    plt.imsave('cA.png', cA, cmap='gray')

    plt.imshow(cV, 'gray')
    plt.imsave('cV.png', cV, cmap='gray')

    plt.imshow(cD, 'gray')
    plt.imsave('cD.png', cD, cmap='gray')

    # 将各个子图进行拼接,最后得到一张图
    # AH = np.concatenate([cA, cH], axis=1)
    # VD = np.concatenate([cV, cD], axis=1)
    # img = np.concatenate([AH, VD], axis=0)
    # return img

if __name__ == '__main__':
    haar_img()

visio画的小波变换示意图:

小波变换(附代码)_第1张图片

你可能感兴趣的:(机器学习,小波变换,python,cv2)