1.简介
小波超分辨率计算就是最早的基于小波变换的方法,高分辨率图像经过小波分解得到 4 个子带图像 LL,LH,HL 和 HH,平稳小波算法(SWT)是从不使用下采样图像的离散小波算法(DWT)开发而来,它仍然处理离散信号。因此输入图像和子带图像大小相同。SWT将图像分成不同的子带图像,高频子带包含图像的高频分量。插值可以应用于这四个子带图像。SWT中保持高频分量。SWT解决了DWT的缺点,SWT用于确定原始图像的冗余度,用于曲线估计和回归。对非平稳时间序列的探索和频谱分析。
2.代码实例
import cv2
import numpy as np
import pywt
#读取LR图像
img=cv2.imread(r'D:\pycharm\pytorch\study\data\LR\X2\9x2.jpg', 0)
#平稳小波变换
coeffs=pywt.swt2(img,'haar',level=1)
[(ca,(ch,cv,cd))]=coeffs
#对子图进行处理,放大倍数为2
cA1=cv2.resize(ca,(img.shape[1]*2,img.shape[0]*2),interpolation=cv2.INTER_CUBIC)
cH1=cv2.resize(ch,(img.shape[1]*2,img.shape[0]*2),interpolation=cv2.INTER_CUBIC)
cV1=cv2.resize(cv,(img.shape[1]*2,img.shape[0]*2),interpolation=cv2.INTER_CUBIC)
cD1=cv2.resize(cd,(img.shape[1]*2,img.shape[0]*2),interpolation=cv2.INTER_CUBIC)
coeffs1=[(cA1,(cH1,cV1,cD1))]
#逆平稳小波变换,SR重建
rimg=pywt.iswt2(coeffs1,'haar')
#展现以及储存SR图像
cv2.imshow('ring',np.uint8(rimg))
cv2.waitKey()
cv2.imwrite('rimg.png',rimg)