人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

python圖片格式轉(zhuǎn)換腳本

發(fā)布日期:2022-02-02 00:02 | 文章來源:腳本之家

常見的圖像任務(wù)通常需要把照片統(tǒng)一成相同的格式,所以此文章正是為了統(tǒng)一格式而生,常見的主要有cv2和PIL.Image的相關(guān)操作,照片格式是一串?dāng)?shù)字加上后綴名

1.cv2

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

1.1 導(dǎo)包

import os
import cv2
import sys
import numpy as np

1.2 路徑設(shè)置

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)
  # print(img)
  new_imagename = i.replace(".jpeg", ".jpg")
  cv2.imwrite(path2 + new_imagename, img)
 elif os.path.splitext(i)[1] == ".png":
  img = cv2.imread(path + i)
  # print(img)
  new_imagename = i.replace(".png", ".jpg")
  cv2.imwrite(path2 + new_imagename, img)
 elif os.path.splitext(i)[1] == ".JPG":
  img = cv2.imread(path + i)
  # print(img)
  new_imagename = i.replace(".JPG", ".jpg")
  cv2.imwrite(path2 + new_imagename, img)
 elif os.path.splitext(i)[1] == ".PNG":
  img = cv2.imread(path + i)
  # print(img)
  new_imagename = i.replace(".PNG", ".jpg")
  cv2.imwrite(path2 + new_imagename, img)
 elif os.path.splitext(i)[1] == ".jpg":
  img = cv2.imread(path + i)
  # print(img)
  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)
  # print(img)
  new_imagename = i.replace(".jpeg", ".jpg")
  cv2.imwrite(path2 + new_imagename, img)
 elif i.split(".")[1] == "png":
  img = cv2.imread(path + i)
  # print(img)
  new_imagename = i.replace(".png", ".jpg")
  cv2.imwrite(path2 + new_imagename, img)
 elif i.split(".")[1] == "JPG":
  img = cv2.imread(path + i)
  # print(img)
  new_imagename = i.replace(".JPG", ".jpg")
  cv2.imwrite(path2 + new_imagename, img)
 elif i.split(".")[1] == "PNG":
  img = cv2.imread(path + i)
  # print(img)
  new_imagename = i.replace(".PNG", ".jpg")
  cv2.imwrite(path2 + new_imagename, img)
 elif i.split(".")[1] == "jpg":
  img = cv2.imread(path + i)
  # print(img)
  cv2.imwrite(path2 + i, img)

1.4 查看結(jié)果

2.pillow

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

2.1 導(dǎo)包

import os
from PIL import Image

2.2 路徑設(shè)置

path1 = r"C:\\Users\\86775\\PycharmProjects\\pythonProject2\\ResNet\\test_change\\"
path2 = r"C:\\Users\\86775\\PycharmProjects\\pythonProject2\\ResNet\\test_change2\\"

2.3 寫格式修改函數(shù)

RGBA意思是紅色,綠色,藍(lán)色,Alpha的色彩空間,Alpha指透明度,而JPG不支持透明度。
所以其他格式不轉(zhuǎn)jpg可以直接保存為.png格式,轉(zhuǎn)jpg就需要丟棄Alpha
img = img.convert(“RGB”),轉(zhuǎn)換成RGB,保證和jpg格式的通道數(shù)相同,也算一種圖片類型變換的防報(bào)錯(cuò)機(jī)制

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 開始轉(zhuǎn)換

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 查看結(jié)果

到此這篇關(guān)于python圖片格式轉(zhuǎn)換腳本的文章就介紹到這了,更多相關(guān)python圖片格式轉(zhuǎn)換內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

美國快速服務(wù)器

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部