超分辨重建-Bicubic双三次线性插值opencv实现
论文实验中经典方法Bicubic的Python实现
使用时更改文件夹、保存路径、重建倍数即可
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'D:\PythonUtils\RCAN_TestCode\LR\LRBI\B100\x4',help='path to low resolution image dir') # 待上采样图片文件夹
parser.add_argument('--hr_img_dir', type=str, default=r'D:\PythonUtils\RCAN_TestCode\LR\LRBI\B100',help='path to desired output path for Upsampled images') # 结果保存路径,会自动生成存储结果的文件夹,如 X2result
parser.add_argument('--scale', type=int, default=4,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"\Bicubic-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"\Bicubic-x{args.scale}", f"x{args.scale}_" + filename.split('.')[0] + ext),lr_image) # 保存高分辨率图像
4x下的重建效果
Bicubic
RCAN
Bicubic
RCAN
Bicubic
RCAN
和现在的方法相比,Bicubic确实效果太差,不过实验中会经常用到进行对比
超分辨重建-Bicubic双三次线性插值opencv实现相关推荐
- 图形图像处理-之-高质量的快速的图像缩放 中篇 二次线性插值和三次卷积插值
from:http://blog.csdn.net/housisong/article/details/1452249 图形图像处理-之-高质量的快速的图像缩放 中篇 二次线性插值和三次卷积插值 ...
- Python图像识别实战(三):基于OpenCV实现批量单图像超分辨重建(附源码和实现效果)
前面我介绍了可视化的一些方法以及机器学习在预测方面的应用,分为分类问题(预测值是离散型)和回归问题(预测值是连续型)(具体见之前的文章). 从本期开始,我将做一个关于图像识别的系列文章,让读者慢慢理解 ...
- 【数字图像处理】图像内插“双三次内插法 双三次插值 Bicubic interpolation”(cv2.resize、cv.INTER_CUBIC)
文章目录 基本原理 代码 引用自:<数字图像处理> 基本原理 引用自:https://baike.baidu.com/item/%E5%8F%8C%E4%B8%89%E6%AC%A1%E6 ...
- 双谱线插值与三谱线插值FFT的MATLAB实现
双谱线插值 f0=50.1; % 基波频率 fs=1500; % 采样频率 N=512; % 数据长度 n=0:N-1; % 数据索引 rad=pi/180; % 角度和弧度的转换因子 xb=[1,0 ...
- 第2章 Python 数字图像处理(DIP) --数字图像基础3 - 图像内插 - 最近邻内插 - 双线性插值 - 双三次内插 - 图像放大
目录 图像内插 放大图像 图像内插 内插通常在图像放大.缩小.旋转和几何校正等任务中使用.内插并用它来调整图像的大小(缩小和放大),缩小和放大基本上采用图像重取样方法 最近邻内插,这种方法将原图像中最 ...
- 【图像】插值方法原理(最近邻,双线性,双三,兰索斯)
插值流程分为以下几步: 1)计算放缩比例.比如原图是2x2,现在放大到3x3,那么放缩比例就是3/2. 2)计算现在图片上每个像素对应到原图哪个像素.比如(2, 2)的像素对应到原图就是(2/(3/2 ...
- 图像超分辨重建领域文献调研(SRCNN SRGAN ESRGAN)
本文介绍了三篇图像超分辨率重建在深度学习方面的文献 目录 一.SRCNN 二.SRGAN 三.ESRGAN 一.SRCNN 1. 解决问题 在CNN出现之前,传统超分方法是最临近插值.双线性或双三次插 ...
- 插值法(最邻近,双线性,双三次)的原理及实现
插值法(最邻近,双线性,双三次)的原理及实现 常用的插值方法有最邻近插值法.双现象插值法和双三次插值法等,主要用于图像的放大或缩小. 缩小图像(或称为下采样(subsampled) 或降采样(down ...
- 双线性 双三次 和基于lanczos 的插值算法
三者相同点 双线性 双三次 lanczos插值 都是首先找到插值后点与原图中亚像素点后,通过不同的映射函数进行求解. 三者本质上没有任何区别,区别只是求解函数的拟合方式不同,努力去cover住最真实的 ...
- 数字图像处理学习笔记(七)——用Pycharm及MATLAB实现三种图像内插法(最近邻内插法、双线性内插法、双三次内插法)
数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声.增强.复原.分割.提取特征等处理的方法和技术.本专栏将以学习笔记形式对数字图像处理的重点基础知识进行总结 ...
最新文章
- .net post提交后接收返回数据_Ajax提交表单的方式
- go语言os.exit(1)_在Golang中各种永远阻塞的姿势
- Java jar 修改(springfox-swagger-ui-2.9.2.jar 修改去掉顶部的绿色topbar,汉化)
- 微信小程序自定义组件 插槽
- 利用Kubernetes搭建便携式开发环境之MySQL和Redis
- ORA-24324 ORA-24323 ORA-01090
- kafka ConsumerConfig: The configuration max.poll.records = 1 was supplied but isn't a known config
- 3.1 API : DecisionTreeClassifier、DecisionTreeRegressor
- 背包问题1:【SSL】1059.01背包问题——2021-03-10更
- 数据库知识与技巧日常汇总
- 各级政府发布的BIM标准指南37套免费下载
- c#求长方形的面积周长公式_长方形的面积和周长公式是什么?
- 机器学习理论知识的自学整理(持续更新,建议收藏)
- idea设置svn上传或下拉代码
- 秒杀品牌数据线的开博尔USB3.1Gen2 Type-C数据线评测
- 因特网、万维网、互联网区别
- 基于声音的击键信号识别
- 【学习笔记】Argus--H5游戏性能测试工具
- -01-OV7251摄像头与设计规划【Xilinx-LVDS读写功能实现】
- Java 语言程序设计基础(笔记一) ( 专升本自考 ,九天速成 )
热门文章
- B 站, YYDS!看了这些 Java视频,我直呼好家伙!!!
- 2022-2028年全球与中国口琴行业发展趋势及竞争策略研究
- [Rscript]探索性因子分析
- 关联规则挖掘与Apriori算法
- 【艾特淘】淘宝流量黄金标题的制作方法本
- Ubuntu 安装 peek 动态截图软件
- 微信小程序二手交易系统ssm框架
- 「MRC干货」如何快速构建一台高精度AGV
- XRecyclerView+Retrofit+RXjava+Fresco请求网络数据
- 9011,9012,9013,9014,8050,8550三极管的区别