目录

一背景

二代码

三注意


一背景

在超分任务中,为了做对比实验,需要双三次插值算法生成高分辨率图像。为此写了简单代码实现。

二代码

import os
import argparse
import cv2# parse args
parser = argparse.ArgumentParser(description='Upsize images using bicubic interpolation')
parser.add_argument("-k", "--keepdims", help="keep original image dimensions in downsampled images",action="store_true")
##############################需要修改的部分#############################
parser.add_argument('--lr_img_dir', type=str, default=r'C:\Users\Administrator\Desktop\dunhuangchaofen\Testset\Set5\X2',help='path to low resolution image dir') #待上采样图片文件夹
parser.add_argument('--hr_img_dir', type=str, default=r'C:\Users\Administrator\Desktop\bicubic',help='path to desired output path for Upsampled images') #结果保存路径,会自动生成存储结果的文件夹,如  X2result
parser.add_argument('--scale', type=int, default=2,help='path to desired output dir for Upsampled images')#上采样倍率
##########################################################
args = parser.parse_args()lr_image_dir = args.lr_img_dir
hr_image_dir = args.hr_img_dirprint(args.hr_img_dir)
print(args.lr_img_dir)# create LR image dirs
os.makedirs(hr_image_dir + f"\X{args.scale}result", exist_ok=True) #创建保存结果的文件夹supported_img_formats = (".bmp", ".dib", ".jpeg", ".jpg", ".jpe", ".jp2",".png", ".pbm", ".pgm", ".ppm", ".sr", ".ras", ".tif",".tiff")# Upsample LR images
for filename in os.listdir(lr_image_dir):if not filename.endswith(supported_img_formats):continuename, ext = os.path.splitext(filename)# Read LR imagelr_img = cv2.imread(os.path.join(lr_image_dir, filename))hr_img_dims = (lr_img.shape[1], lr_img.shape[0])# Upsample imagelr_image = cv2.resize(lr_img, (0, 0), fx=int(f"{args.scale}"), fy=int(f"{args.scale}"), interpolation=cv2.INTER_CUBIC)if args.keepdims:lr_image = cv2.resize(lr_image, hr_img_dims, interpolation=cv2.INTER_CUBIC)cv2.imwrite(os.path.join(hr_image_dir + f"\X{args.scale}result", f"x{args.scale}_"+filename.split('.')[0]  + ext), lr_image) #保存高分辨率图像

三注意

使用时,修改输入图像的文件夹,修改生成结果保存的位置,修改双三次插值上采样的倍率。

相关链接:

超分辨率重建中,生成低分辨率数据集

超分辨率重建数据集制作:生成低分辨率数据集_Alocus_的博客-CSDN博客_超分辨率数据集背景超分辨率重建任务需要高清和对应的低质图像。由于需要自己制作超分辨率重建数据集,需要将高分辨率图像按照公认的方式(DIV2k)制作为低分辨率图像,我根据网上代码进行了改造可运行代码如下:代码import osimport argparseimport cv2#parse argsparser = argparse.ArgumentParser(description='Downsize images at 2x using bicubic interpolation')parhttps://blog.csdn.net/Crystal_remember/article/details/122899283

超分辨率重建双三次插值Bicubic生成高分辨率图像相关推荐

  1. 超分辨率重建数据集制作:生成低分辨率数据集

    目录 背景 代码 结果 其他 注意: 超分主流有两种BI.BD. 1.实际上公认的是使用MATLAB进行插值. 2.Bicubic(双三次插值)方式.(BI方式) 3.高斯模糊+双三次插值是另一种常用 ...

  2. 一文掌握图像超分辨率重建(算法原理、Pytorch实现)——含完整代码和数据

    目录 一.  图像超分辨率重建概述 1. 概念 2. 应用领域 3. 研究进展 3.1 传统超分辨率重建算法 3.2 基于深度学习的超分辨率重建算法 二.  SRResNet算法原理和Pytorch实 ...

  3. 【数字图像处理3 】(上)图像超分辨率重建(SR)概述

    图像超分辨率重建 一.前言(废话时间) 二.扫盲知识 什么是 超分辨率重建? 兴起原因 三.传统超分辨率重建 1.基于插值的超分辨率重建 2.基于退化模型的超分辨率重建 3.基于学习的超分辨率重建 四 ...

  4. 图像超分辨率重建算法,让模糊图像变清晰(附数据和代码)

    一.  图像超分辨率重建概述 1. 概念 图像分辨率是一组用于评估图像中蕴含细节信息丰富程度的性能参数,包括时间分辨率.空间分辨率及色阶分辨率等,体现了成像系统实际所能反映物体细节信息的能力.相较于低 ...

  5. 图像超分辨率重建之SRCNN

    新版本请访问简书链接:https://www.jianshu.com/p/dfe85a3c2096 图像超分辨率重建:指通过低分辨率图像或图像序列恢复出高分辨率图像.高分辨率图像意味着图像具有更多的细 ...

  6. 单图像超分辨率重建示例

    代码的解析已经给出,现在补上:单图像超分辨率重建示例代码解析 目录 一.简介 二.前期准备 三.运行程序 四.参考目录 一.简介 图像超分辨率重建技术就是利用一组低质量.低分辨率图像(或运动序列)来产 ...

  7. 超分辨率重建基础知识总结

    超分辨率重建基础知识总结 1.为什么使用超分辨率重建? 2.经典图像插值算法有哪些,局限在哪里? 3.进行超分辨率重建的方式有哪些? 4.超分辨率重建技术与图像复原技术区别与联系? 5.SR常用的评价 ...

  8. 超分辨率重建数据集制作:裁剪过滤

    目录 背景 代码 其他 背景 由于获取到的高分辨率图像尺寸不一,不符合公认的要求,需要有一边长为2040,另一边长不做要求,这里我将其设置为大于648.因此我对图像进行了裁剪过滤,代码如下(请修改输入 ...

  9. 超分辨率重建生成低分辨率图像,生成降质图像公认方法代码

    目录 1背景 2.BI 3.BD 4.DN 5总结 1背景 超分辨率重建中经典的生成降质图像通常使用MATLAB实现的,通常有四种方法: 类型 说明 BI bicubic-down BD blur-d ...

  10. 经典论文复现 | 基于深度学习的图像超分辨率重建

    过去几年发表于各大 AI 顶会论文提出的 400 多种算法中,公开算法代码的仅占 6%,其中三分之一的论文作者分享了测试数据,约 54% 的分享包含"伪代码".这是今年 AAAI ...

最新文章

  1. Error in value[[3L]](cond) : You have a 32-bit version of Java. H2O works best with 64-bit Java.
  2. tomcat启动startup.bat一闪而过 全面解决,大佬牛逼,转载
  3. 不同的编译器:GCC G++ C C++的区别
  4. 有了Unicode为啥还需要UTF-8
  5. 漫谈数据挖掘从入门到进阶
  6. logistic模型原理与推导过程分析(3)
  7. oracle 如何形成死锁,Oracle数据表中的死锁情况解决方法
  8. 安装的python没有菜单栏_由非root用户安装python包/工具
  9. spark 通过打散热点key解决数据倾斜问题
  10. WordPress社交网络菜单图标更改——SVG图标
  11. 系统集成项目管理工程师10大管理47个过程域输入输出工具(项目进度管理)
  12. 分享一些网站有免费的pdf书籍
  13. 高通平台DDR3初始化
  14. JAVA8的一些写法
  15. 基于C++的P2P穿透文件传输
  16. 环境资源与相关词汇中英文对照
  17. 计算机底层01-计算机发展史
  18. htmllt;pregt;标签,聊一聊HTML pre标签
  19. 电路的等效变换(二)
  20. Win7 未识别网络 的20种常见解决方案

热门文章

  1. linux离线安装rpm命令,CentOS-Linux安装软件命令是什么:rpm命令
  2. [NOI题库]1.3编程基础之算术表达式与顺序执行 题解(一)
  3. 初学者入门——NOI题库1.3
  4. 有限公司章程(范本)
  5. html自动跳转到另外页面,html从一个页面跳转至另一个html页面的子页面
  6. 永磁同步电机矢量控制学习--MTPA控制策略
  7. C# Socket通信服务器编写
  8. 一个方便快捷gif在线水印制作(支持文字和图片)
  9. PMP-2.项目集、项目组合、项目运营和生命周期
  10. Linux-脚本、tailf