Mahotas 简明教程
Mahotas - Wavelet Transforms
小波变换是一种将图像分解为不同的频率分量的数学技术。小波变换可以捕获图像的局部和全局细节。
小波变换使用被称为小波的小波形函数来分析信号。这些小波缩放和变换以匹配图像中存在不同的模式。
小波变换涉及修改频率分量的高频和低频系数,以产生识别模式和增强图像。原始图像可以通过逆转小波变换来恢复。
让我们讨论小波变换技术及其逆变化。
Daubechies Transformation
Daubechies 变换是一种小波变换技术,用于将信号分解为不同的频率分量。它使我们能够同时在时域和频域中分析信号。
让我们在下面看到 Daubechies 变换图像 −
Inverse Daubechies Transformation
逆 Daubechies 变换是 Daubechies 变换的反向过程。它通过 Daubechies 变换获得的各个频率分量重建原始图像。
通过应用逆变换,我们可以在保留重要细节的同时恢复信号。
这里,我们看看 Daubechies 变换的逆 −
Haar Transformation
Haar 变换技术通过将图像划分为子区域将其分解为不同的频率分量。然后,它计算平均值之间的差异以对图像应用小波变换。
在下面的图像中,我们看到变换的 Haar 图像 −
Example
在下面的示例中,我们将尝试执行上面解释的所有小波变换−
import mahotas as mh
import numpy as np
import matplotlib.pyplot as mtplt
image = mh.imread('sun.png', as_grey=True)
# Daubechies transformation
daubechies = mh.daubechies(image, 'D6')
mtplt.imshow(daubechies)
mtplt.title('Daubechies Transformation')
mtplt.axis('off')
mtplt.show()
# Inverse Daubechies transformation
daubechies = mh.daubechies(image, 'D6')
inverse_daubechies = mh.idaubechies(daubechies, 'D6')
mtplt.imshow(inverse_daubechies)
mtplt.title('Inverse Daubechies Transformation')
mtplt.axis('off')
mtplt.show()
# Haar transformation
haar = mh.haar(image)
mtplt.imshow(haar)
mtplt.title('Haar Transformation')
mtplt.axis('off')
mtplt.show()
# Inverse Haar transformation
haar = mh.haar(image)
inverse_haar = mh.ihaar(haar)
mtplt.imshow(inverse_haar)
mtplt.title('Inverse Haar Transformation')
mtplt.axis('off')
mtplt.show()