当前位置: 首页 > news >正文

Python中使用cv2.resize()函数批量自定义缩放图像尺寸

目录

  • 常用插值缩放方法
  • 缩放示例
  • 代码
  • 总结

常用插值缩放方法

cv2.resize()函数中的interpolation参数指定了图像缩放时使用的插值方法。以下是常用的插值方法:

cv2.INTER_NEAREST:最近邻插值。该方法通过选择最接近目标像素的原始像素来进行插值。它是最快速的插值方法,但可能会导致锯齿状边缘效果。

cv2.INTER_LINEAR:双线性插值。该方法通过使用原始像素的线性组合来计算目标像素的值。它比最近邻插值提供了更平滑的结果,但在缩小图像时可能会丢失细节。

cv2.INTER_CUBIC:双三次插值。该方法在双线性插值的基础上使用了更多的邻近像素,以获得更高质量的缩放结果。它比双线性插值计算量更大,但效果更好。

cv2.INTER_LANCZOS4:Lanczos插值。该方法使用Lanczos算法来计算目标像素的值。它在缩放图像时提供了更好的保真度,但计算量较大。

缩放示例

在这里插入图片描述

代码


import os
import cv2# 获取文件路径
folder_path = "E:/SR_Images/DIV2K_theml/DIV2K_train_HR"
output_path = "E:/SR_Images/DIV2K_theml/DIV2K_train_LR_bicubic/X2"# 获取文件夹中所有的文件
file_list = os.listdir(folder_path)# 遍历文件列表
for file_name in file_list:# 拼接文件路径file_path = os.path.join(folder_path,file_name)# 仅处理图像文件if os.path.isfile(file_path) and file_name.lower().endswith(('.png',',jpg','.jpeg','.bmp')):# 读取图像路径image = cv2.imread(file_path)# 获取图像原尺寸height,width = image.shape[:2]# 计算缩放后的尺寸new_heiht = int(height / 2)new_width = int(width / 2)# 缩放图像resized_image = cv2.resize(image,(new_width,new_heiht),interpolation=cv2.INTER_CUBIC)  # 例子中使用了双三次插值# 保存缩放后的图像output_file = file_name[:-4] + "x2.png"cv2.imwrite(os.path.join(output_path,output_file),resized_image)

总结

以上就是使用cv2.resize()函数批量自定义缩放图像尺寸的方法,学者根据自己的缩放需求使用对应的缩放参数,多多支持,谢谢!

http://www.lryc.cn/news/205182.html

相关文章:

  • 驱动开发5 阻塞IO实例、IO多路复用
  • ElasticSearch:实现高效数据搜索与分析的利器!项目中如何应用落地,让我带你实操指南。
  • 2023了,是时候使用pnpm了!
  • asp.net文档管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
  • Parallels Client for Mac:改变您远程控制体验的革命性软件
  • Julia数组详解
  • 用事务代码查看视图的函数
  • LuatOS-SOC接口文档(air780E)--libcoap - coap数据处理
  • js控制checkbox单选,获取checkbox的值,选中checkbox
  • MYSQL(事务+锁+MVCC+SQL执行流程)理解(2)
  • ubuntu tools
  • LeetCode 155. 掷骰子等于目标和的方法数:动态规划
  • PostgreSQL数据库从入门到精通系列之五:安装时序数据库TimescaleDB的详细步骤
  • 软件测试(五)自动化 selenium
  • Android grantUriPermission的使用场景和方式
  • 2023高频前端面试题-vue
  • 03初始Docker
  • 1.1、Python基础-注释、变量声明及命名规则、数据类型
  • Python第三方库安装——使用vscode、pycharm安装Python第三方库
  • 【vue】组件通选方式
  • java 使用策略模式减少if
  • 第1章 引论
  • 深入探究Linux文件:.sh、.swp文件的作用与意义 (linux .sh.swp)
  • 优雅的使用String字符串处理各种类型转换
  • Harmony 个人中心(页面交互、跳转、导航、容器组件)
  • AlDente Pro for Mac: 掌控电池充电的终极解决方案
  • tomcat的负载均衡、动静分离(nginx联动)
  • 基于单片机的温湿度检测及远程控制系统设计
  • 前后端交互系统:在Node.js中运行JavaScript
  • Maven学习