最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python使用PIL實現(xiàn)圖片的批量格式轉(zhuǎn)換

 更新時間:2025年09月02日 08:32:55   作者:Ratten  
在日常開發(fā)和圖像處理工作中,我們經(jīng)常需要將圖片從一種格式轉(zhuǎn)換為另一種格式,本文將基于一個實際的Python腳本示例,介紹如何實現(xiàn)批量圖片格式轉(zhuǎn)換,并對比幾種常用的圖像處理庫的優(yōu)劣勢,需要的朋友可以參考下

1. 前言

在日常開發(fā)和圖像處理工作中,我們經(jīng)常需要將圖片從一種格式轉(zhuǎn)換為另一種格式。本文將基于一個實際的Python腳本示例,介紹如何實現(xiàn)批量圖片格式轉(zhuǎn)換,并對比幾種常用的圖像處理庫的優(yōu)劣勢。

2. 技術(shù)對比分析

2.1 OpenCV

優(yōu)勢

  1. 功能強大,支持多種圖像處理操作;
  2. 性能優(yōu)秀,特別是在處理大量圖像時;
  3. 支持多種圖像格式。

劣勢:學(xué)習(xí)曲線較陡峭;對于簡單的格式轉(zhuǎn)換任務(wù)可能過于復(fù)雜;主要專注于計算機視覺任務(wù)。

2.2 Wand

優(yōu)勢

  1. 功能非常全面,支持超過100種圖像格式;
  2. 提供豐富的圖像處理功能;
  3. 支持命令行工具的所有功能。

劣勢:相對于PIL,社區(qū)支持較??;安裝可能比較復(fù)雜。

2.3 pillow

優(yōu)勢

  1. 簡單易用,API直觀;
  2. 文檔完善,社區(qū)支持良好;
  3. 輕量級,適合簡單的圖像處理任務(wù);
  4. 廣泛應(yīng)用于Python圖像處理領(lǐng)域。

劣勢:在處理大量圖像時性能不如OpenCV;功能相對有限,主要專注于基本的圖像處理。

3. 實現(xiàn)分析

  1. 導(dǎo)入必要的庫:使用PIL庫處理圖像,os庫處理文件和文件夾操作。
  2. 創(chuàng)建輸出文件夾:使用os.makedirs(output_folder, exist_ok=True)確保輸出文件夾存在。
  3. 遍歷輸入文件夾:使用os.listdir()獲取輸入文件夾中的所有文件。
  4. 篩選WebP文件:通過filename.lower().endswith('.webp')篩選出WebP格式的文件。
  5. 圖像轉(zhuǎn)換:使用Image.open()打開WebP圖片,然后通過img.save()保存為PNG格式。
  6. 異常處理:在轉(zhuǎn)換過程中加入異常處理,確保單個文件轉(zhuǎn)換失敗不會影響其他文件的轉(zhuǎn)換。

4. 實現(xiàn)代碼

from PIL import Image
import os

def convert_webp_to_png(input_folder, output_folder):
    # 創(chuàng)建輸出文件夾(如果不存在)
    os.makedirs(output_folder, exist_ok=True)
    
    # 遍歷輸入文件夾中的所有webp文件
    for filename in os.listdir(input_folder):
        if filename.lower().endswith('.webp'):
            # 構(gòu)建完整的文件路徑
            input_path = os.path.join(input_folder, filename)
            
            # 打開webp圖片
            try:
                with Image.open(input_path) as img:
                    # 生成輸出文件名(將.webp替換為.png)
                    output_filename = os.path.splitext(filename)[0] + '.png'
                    output_path = os.path.join(output_folder, output_filename)
                    
                    # 轉(zhuǎn)換并保存為png格式
                    img.save(output_path, 'PNG')
                    print(f"已轉(zhuǎn)換: {filename} -> {output_filename}")
            except Exception as e:
                print(f"轉(zhuǎn)換失敗 {filename}: {str(e)}")

if __name__ == "__main__":
    input_folder = "webp"
    output_folder = "out_webp"
    convert_webp_to_png(input_folder, output_folder)
    print("所有webp圖片已轉(zhuǎn)換完成!")

5. 執(zhí)行結(jié)果

6. 執(zhí)行前后對比

7. 總結(jié)

  1. 通過使用PIL庫,我們可以輕松地實現(xiàn)WebP到PNG的格式轉(zhuǎn)換。
  2. 對比了OpenCV、Wand和PIL三種常用的圖像處理庫,每種庫都有其適用的場景。 在選擇圖像處理庫時,應(yīng)根據(jù)具體需求和項目特點來決定。

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

相關(guān)文章

  • python通配符之glob模塊的使用詳解

    python通配符之glob模塊的使用詳解

    這篇文章主要介紹了python通配符之glob模塊的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • 詳解python中遞歸函數(shù)

    詳解python中遞歸函數(shù)

    這篇文章主要介紹了python遞歸函數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Python程序中使用SQLAlchemy時出現(xiàn)亂碼的解決方案

    Python程序中使用SQLAlchemy時出現(xiàn)亂碼的解決方案

    這篇文章主要介紹了Python程序中使用SQLAlchemy時出現(xiàn)亂碼的解決方案,SQLAlchemy是Python常用的操作MySQL數(shù)據(jù)庫的工具,需要的朋友可以參考下
    2015-04-04
  • python設(shè)置環(huán)境變量的原因和方法

    python設(shè)置環(huán)境變量的原因和方法

    在本篇文章中我們給大家整理了關(guān)于python為什么要設(shè)置環(huán)境變量的相關(guān)知識點,有興趣的朋友們參考下。
    2019-06-06
  • 手把手教你如何安裝Pycharm(詳細(xì)圖文教程)

    手把手教你如何安裝Pycharm(詳細(xì)圖文教程)

    這篇文章主要介紹了手把手教你如何安裝Pycharm(詳細(xì)圖文教程),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • 輕松理解Python 中的 descriptor

    輕松理解Python 中的 descriptor

    本文給大家分Python 中的 descriptor相關(guān)知識,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-09-09
  • Python運算符的使用簡單介紹

    Python運算符的使用簡單介紹

    這篇文章主要介紹了Python運算符的使用簡單介紹,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-08-08
  • Python數(shù)據(jù)類型之String字符串實例詳解

    Python數(shù)據(jù)類型之String字符串實例詳解

    這篇文章主要介紹了Python數(shù)據(jù)類型之String字符串,結(jié)合實例形式詳細(xì)講解了Python字符串的概念、定義、連接、格式化、轉(zhuǎn)換、查找、截取、判斷等常見操作技巧,需要的朋友可以參考下
    2019-05-05
  • PyCharm無代碼提示解決方案

    PyCharm無代碼提示解決方案

    最近發(fā)現(xiàn)在使用pycharm編寫python代碼的時候發(fā)現(xiàn)沒有了代碼提示的功能,下面這篇文章主要給大家介紹了關(guān)于PyCharm無代碼提示解決方案的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • Python發(fā)送郵件的幾種方式(最全總結(jié)!)

    Python發(fā)送郵件的幾種方式(最全總結(jié)!)

    發(fā)送電子郵件是個很常見的開發(fā)需求,平時如果有什么重要的信息怕錯過,就可以發(fā)個郵件到郵箱來提醒自己,這篇文章主要給大家介紹了關(guān)于Python發(fā)送郵件的幾種方式,需要的朋友可以參考下
    2024-03-03

最新評論

嘉鱼县| 和龙市| 金门县| 江口县| 玛曲县| 长沙县| 讷河市| 荔浦县| 尼勒克县| 锡林浩特市| 江口县| 巴林左旗| 湛江市| 尼勒克县| 阿拉尔市| 通河县| 金溪县| 赤城县| 班玛县| 子长县| 长乐市| 漳平市| 安远县| 句容市| 南康市| 胶南市| 故城县| 马龙县| 清流县| 图木舒克市| 阿坝| 襄城县| 闽侯县| 加查县| 金门县| 罗甸县| 永城市| 苗栗市| 古蔺县| 中阳县| 桐城市|