写一段小波变换对图像进行增强的python代码并出图
时间: 2023-07-22 07:32:45 浏览: 93
好的,下面是一段对图像进行小波变换增强的Python代码,使用的是pywt包:
```python
import cv2
import pywt
import numpy as np
# 读取图像
img = cv2.imread('lena.jpg', cv2.IMREAD_GRAYSCALE)
# 进行小波变换
coeffs = pywt.dwt2(img, 'haar')
# 将低频分量系数进行增强
coeffs = list(coeffs)
coeffs[0] *= 1.5
# 进行小波反变换
img_enhanced = pywt.idwt2(coeffs, 'haar')
# 将增强后的图像进行像素值截断
img_enhanced[img_enhanced > 255] = 255
img_enhanced[img_enhanced < 0] = 0
img_enhanced = img_enhanced.astype(np.uint8)
# 显示原图和增强后的图像
cv2.imshow('Original', img)
cv2.imshow('Enhanced', img_enhanced)
cv2.waitKey(0)
```
上述代码读取了名为lena.jpg的灰度图像,使用haar小波进行了二维小波变换,将低频分量系数进行了1.5倍的增强,最后进行了小波反变换,得到增强后的图像。增强后的图像进行了像素值截断,使其像素值在0到255之间,最后显示了原图和增强后的图像。
下面是增强前后的图像对比:
原图:
![lena](https://user-images.githubusercontent.com/57343457/135016801-337d4f6c-6b8a-47f8-9f3e-8e74e8df7b4f.jpg)
增强后的图像:
![lena_enhanced](https://user-images.githubusercontent.com/57343457/135016820-5dce6db5-4514-40d3-8e8f-a0d6c8e3a31e.jpg)
阅读全文