ython opencv 使用小波变换dwt2后将图像重构回去 coeffs = pywt.dwt2(gray, 'haar')
时间: 2023-12-29 07:06:19 浏览: 97
opencv小波变换代码
5星 · 资源好评率100%
将小波变换后得到的系数 coeffs 作为参数,使用 pywt.idwt2() 函数即可将图像重构回去。具体代码如下:
```python
import cv2
import pywt
# 读取灰度图像
img = cv2.imread('lena.png', cv2.IMREAD_GRAYSCALE)
# 进行二维小波变换
coeffs = pywt.dwt2(img, 'haar')
# 将小波系数分别取出
LL, (LH, HL, HH) = coeffs
# 将 LL 系数放回 coeffs 中
coeffs = LL, (None, None, None)
# 进行小波反变换
reconstructed_img = pywt.idwt2(coeffs, 'haar')
# 显示结果
cv2.imshow('Original Image', img)
cv2.imshow('Reconstructed Image', reconstructed_img.astype(int))
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,LL 为低频系数,LH、HL、HH 分别为水平、垂直、对角线方向的高频系数。在将系数传给 pywt.idwt2() 函数进行反变换时,只需要将 LL 系数放回 coeffs 中即可。最后将重构后的图像转换为整型并显示出来。
阅读全文