python模块之image修改图片类型

有时候我们需要不同格式的图片后缀格式,如:png,jpg,如果仅仅手动修改图片的后缀的话,只是表面修改了后缀格式,其实图片的原类型仍然没有变化,可以用python中的imghdr模块来进行检验图片真正的格式,参考博文:https://blog.csdn.net/weixin_44799217/article/details/113686691,所以呢,我们可以使用python中PIL模块中的Image修改我们想要的文件类型。

如:

这几张图片是png格式的图片,手动修改为.jpg格式的,通过代码来判断真伪:

示例代码:

import os
import imghdrimg_list = os.listdir('./images/')
print(img_list)
for img in img_list:print(img, end='的文件类型为:')with open(f'./images/{img}', 'rb') as f:print(imghdr.what(f))

运行结果:

通过程序运行结果判断,图片后缀类型是假的,接下来修改图片类型:

示例代码:

import os
import imghdr
from PIL import Imageimg_list = os.listdir('./images/')
print(img_list)
#  判断图片真实格式
for img in img_list:print(img, end='的文件类型为:')with open(f'./images/{img}', 'rb') as f:print(imghdr.what(f))#  修改图片格式
for img in img_list:im = Image.open(f'./images/{img}').convert('RGB')im.save(f'./images/{img[:-4]}_true.jpg', 'JPEG')#  删除之前的图片
for pic in img_list:os.remove(f'./images/{pic}')#  读取修改后的图片名称
img_list = os.listdir('./images/')
print(img_list)
#  判断图片真实格式
for img in img_list:print(img, end='的文件类型为:')with open(f'./images/{img}', 'rb') as f:print(imghdr.what(f))

运行结果:

python模块之image修改图片类型相关推荐

  1. python模块之imghdr检测图片类型

    python模块之imghdr检测图片类型 1. imghdr是什么 imghdr是一个用来检测图片类型的模块,传递给它的可以是一个文件对象,也可以是一个字节流.[仅仅根据文件后缀判断文件类型显然不准 ...

  2. python如何检测文件或图片类型

    python如何检测文件或图片类型 一.检测文件类型 简介 特点 支持的文件类型 安装 使用 二.图片格式检测 一.PIL模块 安装 使用1:本地图片 使用2:base64格式图片 二. imghdr ...

  3. 检查python模块_Python输入模块–有效使用类型检查器

    检查python模块 Introduced since Python 3.5, Python's typing module attempts to provide a way of hinting ...

  4. python修改图片类型

    from PIL import Image img=Image.open('F:/bizhi/need/1.webp') img.save("F:/bizhi/cv/test111.jpg& ...

  5. python 畅玩os模块 顺便批量修改个图片尺寸

    目录 吐槽 文章介绍 OS模块 简介 常用功能 ▲(附)os.path 创建/删除 目录/文件 更改 目录/文件 名/位置 ▲获取 路径/目录/文件 名 批量处理图片尺寸 实现思路 详细步骤 安装PI ...

  6. idea批量修改变量快捷键mac_使用Mac自带功能批量修改图片名称、类型和压缩图片大小...

    Mac电脑自带的聚焦搜索功能已经很强大,可以快速准确的搜索电脑内的文件,但是从网上下载的文件,特别是一些图片文件都是一串数字组成的文件名,很难记忆和搜索,我们可以使用Mac自带的『自动操作』功能给图片 ...

  7. Python模块(自己整理并不完整)

    PY核心模块方法 ******************** os模块: os.remove() 删除文件  os.unlink() 删除文件  os.rename() 重命名文件  os.listdi ...

  8. python修改图片大小为30kb_Python的Tornado框架实现图片上传及图片大小修改

    图片的上传 上传图片使用了表单提交, 下面是html部分, enctype="multipart/form-data"表示不对字节进行编码,上传文件类型时需指定. input标签的 ...

  9. python判断图片类型_Python判断图片真实类型

    仅仅根据文件后缀判断文件类型显然不准,在python有一个内置模块imghdr可以用来判断图片的真实类型.代码如下: import imghdr imgType = imghdr.what(image ...

最新文章

  1. mysql中tinyint(1)与tinyint(2)的区别
  2. 服务被干爆了!竟然是日志的锅!!
  3. Zabbix 3.2.6 通过SNMP和iDRAC监控DELL服务器
  4. PPT 下载 | 神策数据刘乐:智能推荐驱动业务增长应用与实践
  5. mysql数据库已连接数据库_001. 【已解决】Java连接MYSQL 数据库的连接步骤
  6. 《四世同堂》金句摘抄(十二)
  7. 6月26号.NET面试题(程序题部分)只要做懂这3道题肯定能脱离菜鸟称号!
  8. 解决迭代器调用next方法时报错:StopIteration
  9. 规划 SOA 参考架构
  10. android仿微信图片编辑器,electron/vue可编辑框contenteditable|仿微信截图
  11. jQuery调用或获取iframe中的方法或控件值
  12. kubernetes视频教程笔记 (11)-pod容器生命周期、Init容器
  13. winform ComboBox基本操作
  14. 计算机毕业设计、实战项目之 [含论文+答辩PPT+任务书+中期检查表+源码等]基于S2SH的医院在线挂号[包运行成功]
  15. HBase二级索引方案
  16. Navicat 全部产品破解方法(MySQL/PostgreSQL等所有navicat的产品均可破解)
  17. matlab 进行非线性回归,5.利用Matlab编程进行非线性回归分析.doc
  18. 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU特性那些事(2)- RT1052DVL6性能实测(CoreMark)...
  19. ant java /jre,关于java:Ant:找不到类:javac1.8
  20. 黑莓9000软件测试面试,初步测试有5大发现_黑莓9000 Bold - CNMO

热门文章

  1. 再不参与就晚了!!2020年结束前最后一波内测福利!人人有份!
  2. 搜狐、美团、小米都在用的Apache Doris有什么好? | BDTC 2019
  3. 阿里达摩院2020趋势第一弹:感知智能的“天花板”和认知智能的“野望”
  4. 谷歌大神Jeff Dean点赞网红博士论文:改进分布式共识机制 | 技术头条
  5. BAT、讯飞之后,又一国家人工智能开放创新平台诞生了
  6. 比特大陆全球首发SOPHON系列张量处理器和解决方案
  7. 面试官:抛开Spring来说,如何自己实现Spring AOP?
  8. Redis分布式锁使用不当,酿成一个重大事故,超卖了100瓶飞天茅台!!!
  9. 面试官:Java中 serialVersionUID 的作用是什么?举个例子说明
  10. SpringMVC:注解@ControllerAdvice的工作原理