Python 的 Pillow 似乎還不支持 AVIF 檔案,而其他包如pyheif僅支持閱讀。是否有任何 Python 工具可以將 jpg 影像轉換為新的avif格式?
uj5u.com熱心網友回復:
您可以使用枕頭和枕頭 avif-plugin來做到這一點:
from PIL import Image
import pillow_avif
JPGimg = Image.open(<filename> 'jpg')
JPGimg.save(<filename> '.AVIF','AVIF')
您需要安裝枕頭 AVIF 才能做到這一點。
uj5u.com熱心網友回復:
據我所知,目前不支持“avif”。但是有 API 支持。例如,這個 API做得很好。可能會出現安全問題。該網站看起來不太好,但在功能上做得很好。
我檢查了一些 API源代碼,我發現你可以在不需要這個 API 的情況下進行這種轉換。API 正在使用 magick命令進行此轉換。我不知道如何使用這個命令,但我認為你可以稍微搜索一下,或者查看源代碼。
uj5u.com熱心網友回復:
到目前為止我能想到的最好的方法是安裝 libavif:
brew install libavif
并通過執行avif編碼器直接對jpg檔案進行編碼:
import subprocess
input_file = '/some-path/file1.jpg'
output_file = '/some-path/file1.avif'
subprocess.run(f"avifenc --min 0 --max 63 -a end-usage=q -a cq-level=18 -a tune=ssim {input_file} {output_file}", shell=True)
這些選項--min 0 --max 63 -a end-usage=q -a cq-level=18 -a tune=ssim是 AVIF 影像的一些推薦設定。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/315086.html
上一篇:如何在regexpython中用相同數量的不同字符替換重復字符?
下一篇:使用正則運算式從目錄中讀取檔案
