博主信息
博文 16
粉丝 0
评论 0
访问量 29378
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
python图片格式转换脚本
原创
2179人浏览过

目录
前言
1.cv2
1.1 导包
1.2 路径设置
1.3 改格式重新传
1.4 查看结果
2.pillow
2.1 导包
2.2 路径设置
2.3 写格式修改函数
2.4 开始转换
2.5 查看结果
前言
常见的图像任务通常需要把照片统一成相同的格式,所以此文章正是为了统一格式而生,常见的主要有cv2和PIL.Image的相关操作,照片格式是一串数字加上后缀名

1.cv2
pip install opencv-python之后就可以import cv2

1.1 导包
import os
import cv2
import sys
import numpy as np
1.2 路径设置
path = r”C:\Users\86775\PycharmProjects\pythonProject2\ResNet\test_change\“
path2 = r”C:\Users\86775\PycharmProjects\pythonProject2\ResNet\test_change2\“
1.3 改格式重新传
1.3.1 用os.path.splitext()来判断

images = os.listdir(path)
for i in os.listdir(path):
print(os.path.splitext(i)) # (‘34474006827920603’, ‘.png’)
if os.path.splitext(i)[1] == “.jpeg”:
img = cv2.imread(path + i)

  1. # print(img)
  2. new_imagename = i.replace(".jpeg", ".jpg")
  3. cv2.imwrite(path2 + new_imagename, img)
  4. elif os.path.splitext(i)[1] == ".png":
  5. img = cv2.imread(path + i)
  6. # print(img)
  7. new_imagename = i.replace(".png", ".jpg")
  8. cv2.imwrite(path2 + new_imagename, img)
  9. elif os.path.splitext(i)[1] == ".JPG":
  10. img = cv2.imread(path + i)
  11. # print(img)
  12. new_imagename = i.replace(".JPG", ".jpg")
  13. cv2.imwrite(path2 + new_imagename, img)
  14. elif os.path.splitext(i)[1] == ".PNG":
  15. img = cv2.imread(path + i)
  16. # print(img)
  17. new_imagename = i.replace(".PNG", ".jpg")
  18. cv2.imwrite(path2 + new_imagename, img)
  19. elif os.path.splitext(i)[1] == ".jpg":
  20. img = cv2.imread(path + i)
  21. # print(img)
  22. cv2.imwrite(path2 + i, img)

1.3.2 用split()来判断

images = os.listdir(path)
for i in os.listdir(path):
print(i.split(“.”))
if i.split(“.”)[1] == “jpeg”:
img = cv2.imread(path + i)

  1. # print(img)
  2. new_imagename = i.replace(".jpeg", ".jpg")
  3. cv2.imwrite(path2 + new_imagename, img)
  4. elif i.split(".")[1] == "png":
  5. img = cv2.imread(path + i)
  6. # print(img)
  7. new_imagename = i.replace(".png", ".jpg")
  8. cv2.imwrite(path2 + new_imagename, img)
  9. elif i.split(".")[1] == "JPG":
  10. img = cv2.imread(path + i)
  11. # print(img)
  12. new_imagename = i.replace(".JPG", ".jpg")
  13. cv2.imwrite(path2 + new_imagename, img)
  14. elif i.split(".")[1] == "PNG":
  15. img = cv2.imread(path + i)
  16. # print(img)
  17. new_imagename = i.replace(".PNG", ".jpg")
  18. cv2.imwrite(path2 + new_imagename, img)
  19. elif i.split(".")[1] == "jpg":
  20. img = cv2.imread(path + i)
  21. # print(img)
  22. cv2.imwrite(path2 + i, img)

1.4 查看结果

2.pillow
pip install pillow之后就可以from PIL import Image

2.1 导包
import os
from PIL import Image
2.2 路径设置
path1 = r”C:\Users\86775\PycharmProjects\pythonProject2\ResNet\test_change\“
path2 = r”C:\Users\86775\PycharmProjects\pythonProject2\ResNet\test_change2\“
2.3 写格式修改函数
RGBA意思是红色,绿色,蓝色,Alpha的色彩空间,Alpha指透明度,而JPG不支持透明度。
所以其他格式不转jpg可以直接保存为.png格式,转jpg就需要丢弃Alpha
img = img.convert(“RGB”),转换成RGB,保证和jpg格式的通道数相同,也算一种图片类型变换的防报错机制

def jpeg2jpg(path_in, path_out):
img = Image.open(path_in)
img = img.convert(“RGB”)
img.save(path_out, “JPEG”, quality=80, optimize=True, progressive=True)

def png2jpg(path_in, path_out):
img = Image.open(path_in)
img = img.convert(“RGB”)
img.save(path_out, “JPEG”, quality=80, optimize=True, progressive=True)

def JPG2jpg(path_in, path_out):
img = Image.open(path_in)
img = img.convert(“RGB”)
img.save(path_out, “JPEG”, quality=80, optimize=True, progressive=True)

def PNG2jpg(path_in, path_out):
img = Image.open(path_in)
img = img.convert(“RGB”)
img.save(path_out, “JPEG”, quality=80, optimize=True, progressive=True)

def jpg2jpg(path_in, path_out):
img = Image.open(path_in)
img = img.convert(“RGB”)
img.save(path_out, “JPEG”, quality=80, optimize=True, progressive=True)
2.4 开始转换
images = os.listdir(path1)
for i in images:
print(i)
if os.path.splitext(i)[1] == “.jpeg”:
source = path1 + “\“ + str(i.split(“.”)[0]) + “.jpeg”
target = path2 + “\“ + str(i.split(“.”)[0]) + “.jpg”
jpeg2jpg(source, target)
elif os.path.splitext(i)[1] == “.png”:
source = path1 + “\“ + str(i.split(“.”)[0]) + “.png”
target = path2 + “\“ + str(i.split(“.”)[0]) + “.jpg”
png2jpg(source, target)
elif os.path.splitext(i)[1] == “.JPG”:
source = path1 + “\“ + str(i.split(“.”)[0]) + “.JPG”
target = path2 + “\“ + str(i.split(“.”)[0]) + “.jpg”
JPG2jpg(source, target)
elif os.path.splitext(i)[1] == “.PNG”:
source = path1 + “\“ + str(i.split(“.”)[0]) + “.PNG”
target = path2 + “\“ + str(i.split(“.”)[0]) + “.jpg”
PNG2jpg(source, target)
elif os.path.splitext(i)[1] == “.jpg”:
source = path1 + “\“ + str(i.split(“.”)[0]) + “.jpg”
target = path2 + “\“ + str(i.split(“.”)[0]) + “.jpg”
jpg2jpg(source, target)
2.5 查看结果

到此这篇关于python图片格式转换脚本的文章就介绍到这了,更多相关python图片格式转换内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2022-01-04
Python3 实现将bytes图片转jpg格式
需求: 我爬取的图片是bytes格式,需要直接存到本地. import urllib3 import os #PIL图像处理标准库 from PIL import Image from io import BytesIO http = urllib3.PoolManager() response = http.request(‘GET’,’f.hiphotos.baidu.com/image/pic/item/8d5494eef01f3a29f863534d9725bc315d607c8e.jp
python heic后缀图片文件转换成jpg格式的操作

我就废话不多说了,直接上代码 heic_to_jpg.py import subprocess import os import io import whatimage import pyheif import traceback from PIL import Image def decodeImage(bytesIo): try: fmt = whatimage.identify_image(bytesIo) # print(‘fmt = ‘, fmt) if fmt in [‘heic’]

python利用tkinter实现图片格式转换的示例
代码 import os from PIL import Image import tkinter import tkinter.filedialog import tkinter.messagebox class Window(): def init(self): self.root = root = tkinter.Tk() self.menu = tkinter.Menu(root) self.submenu = tkinter.Menu(self.menu, tearoff=0)
Python中xml和dict格式转换的示例代码
在做接口自动化的时候,请求数据之前都是JSON格式的,Python有自带的包来解决.最近在做APP的接口,遇到XML格式的请求数据,费了很大劲来解决,解决方式是:接口文档拿到的是XML,在线转化为json格式(目的是拿到xml数据的模板),存放到json文件中,根据接口名去提取. github原文介绍:使用XML的Python模块感觉就像您在使用JSON 链接:https://github.com/martinblech/xmltodict 下载xmltodict(pip install xml

Java处理Webp图片格式转换的示例代码
前言 Webp是Google推出的一种新型图片格式,相比于 传统的PNG/JPG图片有着更小体积的优势,在Web中有着广泛的应用.由于Webp格式推出比较晚, Jdk 内置的图片编解码库对此并不支持. 网上给出的Java环境解决方案往往需要手动在java.library.path中安装对应的动态链接库,windows是dll文件,linux是so文件.这对于开发部署非常不方便. 本文提供一种无需手动安装动态链接库,同时可以方便处理Webp的解决方案 WebP是谷歌的图片格式,java 类库ima
Python基于pandas实现json格式转换成dataframe的方法
本文实例讲述了Python基于pandas实现json格式转换成dataframe的方法.分享给大家供大家参考,具体如下: # -- coding:utf-8 -- #!python3 import re import json from bs4 import BeautifulSoup import pandas as pd import requests import os from pandas.io.json import jsonnormalize class imagestr
java图片格式转换的三段代码
网上关于java图片格式内容的文章不是很多,也不是很完整,小编搜集了三段java图片格式转换代码,分享给大家: 第一段:java图片格式转换代码 import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Scanner; import javax.imageio.*; public class FormatConversion { public st
python利用tkinter实现屏保
本文实例为大家分享了python利用tkinter实现屏保的具体代码,供大家参考,具体内容如下 import random import tkinter class RandomBall(): ‘’’ 运动的球 ‘’’ def __init
(self, canvas, scrn_width,scrn_heigh): ‘’’ 球的构造函数 :param canvas: 传入画布,在画布上进行球的构造 :param scrn_width: 传入屏幕宽度 :param scrn_heigh: 传入

java实现截取PDF指定页并进行图片格式转换功能
1.引入依赖 <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.16</version> </dependency> <dependency> <groupId>org.apache.pdfbox</groupId> <artifa
python获取时间及时间格式转换问题实例代码详解
整理总结一下python中最常用的一些时间戳和时间格式的转换 第一部分:获取当前时间和10位13位时间戳 import datetime, time ‘’’获取当前时间’’’ n = datetime.datetime.now() print(n) ‘’’获取10位时间戳’’’ now = time.time() print(int(now)) ‘’’获取13位时间戳’’’ now2 = round(now1000) print(now2) 运行结果为: 2018-12-06 11:00:30
PHP简单实现图片格式转换(jpg转png,gif转png等)
需求 开发过程中总会遇到一些需求需要对图片格式进行转换.比如 gif转png,jpg转png 如最近使用某平台的图片文件识别,居然不支持gif格式,那么就需要将gif处理成png等. 依赖 php扩展 gd 和 exif 实现 /**
图片格式转换 @param string $image_path 文件路径或url @param string $to_ext 待转格式,支持png,gif,jpeg,wbmp,webp,xbm * @param null|string $save_p

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学