我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python怎么实现图像尺寸和格式转换处理

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python怎么实现图像尺寸和格式转换处理

本篇内容主要讲解“Python怎么实现图像尺寸和格式转换处理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么实现图像尺寸和格式转换处理”吧!

实现代码

# batch_handle_image.pyimport argparseimport globimport osfrom PIL import Imagedef main(args):    limit_shortest = int(args.limitshortest)    shortest_edge = int(args.shortestedge)    longest_edge = int(args.longestedge)    limit_width_or_height = int(args.limitwidthorheight)    limit_width = int(args.limitwidth)    limit_height = int(args.limitheight)    to_webp = int(args.towebp)    path_list = sorted(glob.glob(os.path.join(args.input, '*')))    for path in path_list:        print(path)        basename = os.path.splitext(os.path.basename(path))[0]        img = Image.open(path)        width, height = img.size        # 限制最长边或最短边        if limit_shortest == 1:            # save the smallest image which the shortest edge is shortest_edge            if width < height:                ratio = height / width                width = shortest_edge                height = int(width * ratio)            else:                ratio = width / height                height = shortest_edge                width = int(height * ratio)        elif limit_shortest == 0:            # save the smallest image which the longest edge is longest_edge            if width < height:                ratio = width / height                height = longest_edge                width = int(height * ratio)            else:                ratio = height / width                width = longest_edge                height = int(width * ratio)        # 限制宽或高        if limit_width_or_height == 0:            # 限宽            ratio = height / width            width = limit_width            height = int(width * ratio)        elif limit_width_or_height == 1:            # 限高            ratio = width / height            height = limit_height            width = int(height * ratio)        idx = 0        rlt = img.resize((int(width), int(height)), resample=Image.ANTIALIAS)        rlt = rlt.convert('RGB')        rlt.save(os.path.join(args.output, f'{basename}T{idx+1}.png'), 'PNG')        if to_webp == 1:            os.makedirs(os.path.join(args.output, 'to_webp'), exist_ok=True)            # 转换为 webp 格式图片            rlt.save(os.path.join(args.output, 'to_webp', f'{basename}T{idx+1}.webp'), 'WEBP')if __name__ == '__main__':    """batch modify image size, and convert to webp    """    parser = argparse.ArgumentParser()    parser.add_argument('--input', type=str, default='datasets/MY/YT', help='Input folder')    parser.add_argument('--output', type=str, default='datasets/MY/YT_smallsize', help='Output folder')    # 是否限制最短边开关:0-限制最长边;1-限制最短边;2-不限制    parser.add_argument('--limitshortest', type=str, default='2', help='0-limit longest; 1-limit shortest; 2-not limit')    # 设置最短边数值    parser.add_argument('--shortestedge', type=str, default='500', help='shortest edge size')    # 设置最长边数值    parser.add_argument('--longestedge', type=str, default='2000', help='longest edge size')    # 是否转换 webp 格式图像开关:0-不转换;1-转换    parser.add_argument('--towebp', type=str, default='0', help='is convert to webp, 0-false, 1-true')    # 是否限制宽度或高度数值开关    parser.add_argument(        '--limitwidthorheight',        type=str,        default='2',        help='is limit width or height; 0-limit width; 1-limit height; 2-not limit')    # 限制宽度数值,高度按比例计算    parser.add_argument('--limitwidth', type=str, default='1080', help='limit width')    # 限制高度数值,宽度按比例计算    parser.add_argument('--limitheight', type=str, default='1080', help='limit height')    args = parser.parse_args()    os.makedirs(args.output, exist_ok=True)    main(args)

使用命令

# 限最长边 2000px,并将格式转换为 webp 格式python batch_handle_image.py --input /input_image --output /output_image --limitshortest 0 --longestedge 2000 --towebp 1

到此,相信大家对“Python怎么实现图像尺寸和格式转换处理”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python怎么实现图像尺寸和格式转换处理

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python怎么实现图像尺寸和格式转换处理

本篇内容主要讲解“Python怎么实现图像尺寸和格式转换处理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么实现图像尺寸和格式转换处理”吧!实现代码# batch_handle_i
2023-07-05

Python实现图像尺寸和格式转换处理的示例详解

这篇文章主要为大家详细介绍了如何利用Python实现图像尺寸获取和格式转换处理的功能,文中的示例代码讲解详细,感兴趣的可以了解一下
2023-05-14

uniapp怎么实现尺寸转换(两种方式)

随着移动互联网的迅速发展,越来越多的人开始选择在手机上使用应用程序来获取信息、交流和娱乐。此时,一个多平台的解决方案变得越来越必要,而uniapp便是基于Vue.js开发的一套多端开发框架,支持H5、小程序、App等多端运行,可以让开发者在开发同一个应用时只需编写一套代码,就可以将其发布到多个平台上。uniapp的优势不言而喻,但是随之而来的也有一些问题,其中最常见的就是尺寸适
2023-05-14

Python技巧之实现批量统一图片格式和尺寸

大家在工作的时候基本都会接触到很多的图片,有时为了不同的工作需求需要修改图片的尺寸或者大小。本文为大家整理了Python批量转换图片格式和统一图片尺寸,希望对大家有所帮助
2023-05-19

C++ opencv图像处理怎么实现图片几何变换

本文小编为大家详细介绍“C++ opencv图像处理怎么实现图片几何变换”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++ opencv图像处理怎么实现图片几何变换”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧
2023-06-30

python图像的批量处理怎么实现

这篇文章主要介绍了python图像的批量处理怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python图像的批量处理怎么实现文章都会有所收获,下面我们一起来看看吧。图片集合函数skimage.io.Im
2023-07-02

Java怎么实现bmp和jpeg图片格式互转

这篇文章主要介绍“Java怎么实现bmp和jpeg图片格式互转”,在日常操作中,相信很多人在Java怎么实现bmp和jpeg图片格式互转问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java怎么实现bmp和j
2023-07-06

Python怎么实现图片和视频的相互转换

本篇内容主要讲解“Python怎么实现图片和视频的相互转换”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么实现图片和视频的相互转换”吧!使用背景有时候我们需要把很多的图片合成视频,
2023-06-22

python数据处理之Pandas类型转换怎么实现

这篇文章主要介绍“python数据处理之Pandas类型转换怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python数据处理之Pandas类型转换怎么实现”文章能帮助大家解决问题。转换为字
2023-06-30

js怎么利用FileReader实现图片转base64格式并上传预览头像

今天小编给大家分享一下js怎么利用FileReader实现图片转base64格式并上传预览头像的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一
2023-06-30

怎么使用Python第三方opencv库实现图像分割处理

这篇文章主要介绍了怎么使用Python第三方opencv库实现图像分割处理的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Python第三方opencv库实现图像分割处理文章都会有所收获,下面我们一起来看
2023-07-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录