欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2022年01月05日 09:36:53   作者:一覽天下945  
大家好,本篇文章主要講的是python圖片格式轉(zhuǎn)換腳本,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽

前言

常見的圖像任務(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意思是紅色,綠色,藍色,Alpha的色彩空間,Alpha指透明度,而JPG不支持透明度。
所以其他格式不轉(zhuǎn)jpg可以直接保存為.png格式,轉(zhuǎn)jpg就需要丟棄Alpha
img = img.convert(“RGB”),轉(zhuǎn)換成RGB,保證和jpg格式的通道數(shù)相同,也算一種圖片類型變換的防報錯機制

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)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 用python繪制彩色螺旋線代碼

    用python繪制彩色螺旋線代碼

    大家好,本篇文章主要講的是用python繪制彩色螺旋線代碼,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Python中多瀏覽器實例項目的隔離策略與實現(xiàn)

    Python中多瀏覽器實例項目的隔離策略與實現(xiàn)

    在 Python 實現(xiàn)多瀏覽器實例的 JavaScript 注入時,要確保數(shù)據(jù)隔離,會話隔離,存儲隔離,下面是一些關(guān)鍵的隔離策略和代碼實現(xiàn),希望對大家有所幫助
    2025-03-03
  • Python3多線程詳解

    Python3多線程詳解

    使用多線程,可以同時進行多項任務(wù),可以使用戶界面更友好,還可以后臺執(zhí)行某些用時長的任務(wù),同時具有易于通信的優(yōu)點。python3中多線程的實現(xiàn)使用了threading模塊,它允許同一進程中運行多個線程,本文介紹的非常詳細,,需要的朋友可以參考下
    2023-05-05
  • python判斷、獲取一張圖片主色調(diào)的2個實例

    python判斷、獲取一張圖片主色調(diào)的2個實例

    一幅圖片,想通過程序判斷獲得其主要色調(diào),應(yīng)該怎么樣處理?本文通過python實現(xiàn)判斷、獲取一張圖片的主色調(diào)方法,需要的朋友可以參考下
    2014-04-04
  • pygame可視化幸運大轉(zhuǎn)盤實現(xiàn)

    pygame可視化幸運大轉(zhuǎn)盤實現(xiàn)

    這篇文章主要介紹了pygame可視化幸運大轉(zhuǎn)盤實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Python如何快速上手? 快速掌握一門新語言的方法

    Python如何快速上手? 快速掌握一門新語言的方法

    Python如何快速上手? 這篇文章主要為大家詳細介紹了快速掌握一門新語言的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Python3.9安裝gmpy2的步驟

    Python3.9安裝gmpy2的步驟

    gmpy2是一個Python擴展模塊,是對GMP的封裝,它的前身是gmpy,接下來通過本文給大家講解Python3.9安裝gmpy2的步驟,安裝gmpy2之前需要提前安裝python3環(huán)境,安裝python請自行百度搜索,不同的python版本會對應(yīng)的gmpy庫也是不同的,需要的朋友可以參考下
    2023-05-05
  • PyQt5 對圖片進行縮放的實例

    PyQt5 對圖片進行縮放的實例

    今天小編就為大家分享一篇PyQt5 對圖片進行縮放的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • windows下pycharm搭建spark環(huán)境并成功運行 附源碼

    windows下pycharm搭建spark環(huán)境并成功運行 附源碼

    這篇文章主要介紹了windows下pycharm搭建spark環(huán)境并成功運行 附源碼,本文分步驟給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Django視圖之ORM數(shù)據(jù)庫查詢操作API的實例

    Django視圖之ORM數(shù)據(jù)庫查詢操作API的實例

    下面小編就為大家?guī)硪黄狣jango視圖之ORM數(shù)據(jù)庫查詢操作API的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10

最新評論