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

Python將圖片批量從png格式轉換至WebP格式

 更新時間:2020年08月22日 22:28:44   投稿:daisy  
最近因為工作需要去研究了下png的壓縮,發(fā)現(xiàn)轉換成webp格式可以小很多,下面給大家分享利用Python將圖片批量從png格式轉換至WebP格式的方法,下面來一起看看。

實現(xiàn)效果

將位于/img目錄下的1000張.png圖片,轉換成.webp格式,并存放于img_webp文件夾內。


源圖片目錄


目標圖片目錄

關于批量生成1000張圖片,可以參考這篇文章:利用Python批量生成任意尺寸的圖片

實現(xiàn)示例

import glob
import os
import threading

from PIL import Image


def create_image(infile, index):
 os.path.splitext(infile)
 im = Image.open(infile)
 im.save("img_webp/webp_" + str(index) + ".webp", "WEBP")


def start():
 index = 0
 for infile in glob.glob("img/*.png"):
  t = threading.Thread(target=create_image, args=(infile, index,))
  t.start()
  t.join()
  index += 1


if __name__ == "__main__":
 start()

注意:該項目需要引用PIL庫。

考慮到是大量的線性密集型運算,因此使用了多線程并發(fā)。通過threading.Thread()創(chuàng)建線程對象時注意,args參數僅接受元祖。

在這里,我們使用Image.open()函數打開圖像。

最終調用save("img_webp/webp_" + str(index) + ".webp", "WEBP")方法,以指定格式寫入指定位置。其中format參數為目標格式。

下面是其他網友的補充

WebP與PNG, JPEG的轉換

webp文件是的谷歌制定的文件,編碼和解碼當然要用谷歌自己提供的工具libwebp,別整那些有的沒的的方法。
如果再pc上的瀏覽器(如Chrome,Edge等)打開微信的推送,爬蟲爬取到圖片可能就是webp格式的

1、下載對應平臺的libwebp

2、解壓得到二進制文件,在bin目錄下(編程的使用include和lib目錄下的文件),以下是以windows 64bit為例,摘自readme.txt。詳細的可以使用-h選項查看具體的用法。

path/to/file description
bin/cwebp.exe encoding tool
bin/dwebp.exe decoding tool
bin/gif2webp.exe gif conversion tool
bin/vwebp.exe webp visualization tool
bin/webpinfo.exe webp analysis tool
lib/ static libraries
include/webp headers
test.webp a sample WebP file
test_ref.ppm the test.webp file decoded into the PPM format

3、其他 --> webp: cwebp [-preset <...>] [options] in_file [-o out_file]
4、webp --> 其他: dwebp in_file [options] [-o out_file]

  • 不指明格式默認轉成PNG格式
  • webp文件名不能有空格

5、批量轉的話那就是腳本的事了,例如Python3腳本批量將webp轉png(轉換成png后再轉成其他格式就很簡單了):

import os
import sys

decoder_path = r"path/to/dwebp.exe" # Windows10下其實也支持斜杠/路徑
webp_path = r"path/to/webp" # webp文件所在目錄,webp文件名不能有空格!
res_path = r"path/to/png_res" # 存儲轉換后圖片的目錄,假設是png

if not os.path.exists(res_path) :
  os.mkdir("result")

for f in os.listdir(webp_path):
  res_f = str(f).replace(".webp", ".png") # 若webp文件命名有特殊,這里需要改改映射規(guī)則
  cmd = "{0} {1} -o {2}".format(
    decoder_path, os.path.join(webp_path, f), os.path.join(res_path, res_f))
  os.system(cmd)

好了,這篇文章的內容到這就基本結束了,大家都學會了嗎?希望對大家的學習和工作能有一定的幫助。

相關文章

  • 基于Python編寫一個微博抽獎小程序

    基于Python編寫一個微博抽獎小程序

    本文將利用Python編寫一個微博抽獎小程序,夢想總是要有的,萬一靠在微博上自動抽獎暴富了呢~文中的示例代碼講解詳細,感興趣的可以了解一下
    2022-05-05
  • python 多進程并行編程 ProcessPoolExecutor的實現(xiàn)

    python 多進程并行編程 ProcessPoolExecutor的實現(xiàn)

    這篇文章主要介紹了python 多進程并行編程 ProcessPoolExecutor的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • PYTHON實現(xiàn)SIGN簽名的過程解析

    PYTHON實現(xiàn)SIGN簽名的過程解析

    這篇文章主要介紹了PYTHON實現(xiàn)SIGN簽名的過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • 對python中基于tcp協(xié)議的通信(數據傳輸)實例講解

    對python中基于tcp協(xié)議的通信(數據傳輸)實例講解

    今天小編就為大家分享一篇對python中基于tcp協(xié)議的通信(數據傳輸)實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Django-xadmin+rule對象級權限的實現(xiàn)方式

    Django-xadmin+rule對象級權限的實現(xiàn)方式

    今天小編就為大家分享一篇Django-xadmin+rule對象級權限的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 詳解Django配置JWT認證方式

    詳解Django配置JWT認證方式

    這篇文章主要介紹了Django 配置JWT認證方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • python定時復制遠程文件夾中所有文件

    python定時復制遠程文件夾中所有文件

    這篇文章主要為大家詳細介紹了python定時復制遠程文件夾中所有文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • PyQt5使用mimeData實現(xiàn)拖拽事件教程示例解析上

    PyQt5使用mimeData實現(xiàn)拖拽事件教程示例解析上

    這篇文章主要為大家介紹了PyQt中如何使用mimeData實現(xiàn)拖拽事件的示例解析過程,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進步
    2021-10-10
  • python實現(xiàn)數據寫入excel表格

    python實現(xiàn)數據寫入excel表格

    這篇文章主要為大家詳細介紹了python實現(xiàn)數據寫入excel表格,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • django項目用higcharts統(tǒng)計最近七天文章點擊量

    django項目用higcharts統(tǒng)計最近七天文章點擊量

    這篇文章主要介紹了django項目用higcharts統(tǒng)計最近七天文章點擊量,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08

最新評論