opencv小波变换代码
时间: 2023-10-10 17:10:26 浏览: 145
opencv的小波变换代码
5星 · 资源好评率100%
以下是使用OpenCV进行小波变换的示例代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('lena.jpg', cv2.IMREAD_GRAYSCALE)
# 将图像拓展为2的倍数
rows, cols = img.shape
nrows = cv2.getOptimalDFTSize(rows)
ncols = cv2.getOptimalDFTSize(cols)
resized = cv2.copyMakeBorder(img, 0, nrows - rows, 0, ncols - cols, cv2.BORDER_CONSTANT, value=0)
# 对图像进行小波变换
coeffs = cv2.dwt2(resized, 'haar')
LL, (LH, HL, HH) = coeffs
# 显示结果
cv2.imshow('LL', np.uint8(LL))
cv2.imshow('LH', np.uint8(LH))
cv2.imshow('HL', np.uint8(HL))
cv2.imshow('HH', np.uint8(HH))
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`cv2.dwt2()`函数用于进行小波变换,第一个参数为输入图像,第二个参数为小波基函数,这里使用`haar`小波基函数。返回值为系数矩阵,其中LL表示低频系数,LH、HL、HH表示高频系数。
阅读全文