Pillow (PIL Fork) 10.4.0 documentation
Usage:
Read image and make thumbnailsthumb = Image.open(img)
thumb.thumbnail(i[1] , Image.LANCZOS)
# thumb = thumb.convert('RGB')
thumb.save(target_path, "JPEG")
thumb.close()
演算法可以參考下圖。

screenshot via: Filters
Uploadcare提供了SIMD加速的Pillow: uploadcare/pillow-simd: The friendly PIL fork
Benchmark測試
Pillow Performance
CPU: Intel Celeron N4505 2.0GHz
安裝libjpeg-dev
, zlib1g-dev
後,安裝pillow-simd才會成功。但執行python出現illegal hardware instruction
的錯誤訊息。
Linux# install requirements
sudo apt install libjpeg-dev zlib1g-dev
# install pillow-simd
CC="cc -mavx2" pip install -U --force-reinstall pillow-simd
MacBook Pro: 3.1GHz Intel Core i7
用brew安裝jpeg
後,安裝pillow-simd成功,執行也沒問題。
MacOS# install requirements
brew install jpeg
# install pillow-simd
pip install pillow-simd
速度有比較快,希望有空來做benchmark。