1.介绍
超分辨论文大多与传统插值方法作比较以证明自己算法的优势,在这里简单的复现一下代码,由于自己是做声呐方面的,这代码可以处理声呐图像,若要处理彩色图,lr_img = cv2.imread(os.path.join(lr_dir, filename), 0)中的0去掉即可。
2.代码实现
传统插值:双线性插值、双立方插值、最近邻插值
下面为双线性插值,双立方插值将interpolation=cv2.INTER_LINEAR改为interpolation=cv2.INTER_CUBIC,最近邻插值则改为interpolation=cv2.INTER_NEAREST
biliner.py
import os
import cv2
#需要修改的是下列三项
lr_dir = r'D:\pycharm\pytorch\study\data\LR\X4'#低分辨率图像文件夹
hr_dir = r'D:\pycharm\pytorch\study\data' #高分辨率图像保存路径
scale=4 #上采样倍率
# 创建保存结果的文件夹
os.makedirs(hr_dir + f"\X{scale}result", exist_ok=True)
# lr图像的上采样
for filename in os.listdir(lr_dir):
# 读取lr图像
lr_img = cv2.imread(os.path.join(lr_dir, filename), 0)
# 双线性插值
lr_image = cv2.resize(lr_img, (0, 0), fx=int(scale), fy=int(scale),
interpolation=cv2.INTER_LINEAR)
# 保存hr图像
cv2.imwrite(os.path.join(hr_dir + f"\X{scale}result", filename),lr_image)