Linux上安裝Python的PIL和Pillow庫處理圖片的實例教程
安裝
正常情況,只需
pip install PIL==1.1.7
或者
pip install Pillow==2.9.0
即可。但需留意安裝后的輸出
安裝完成后,需留意輸出:
*** TKINTER support not available *** JPEG support not available *** WEBP support not available *** ZLIB (PNG/ZIP) support not available *** FREETYPE2 support not available *** LITTLECMS support not available
是否有需要但不支持的格式,如果有,需安裝支持的包。以jpg/png/web為例。
依賴庫(library)安裝
首先檢查是否已經(jīng)安裝
ll /usr/lib/libjpeg.* -rw-r--r-- 1 root root 221942 Jun 30 2010 /usr/lib/libjpeg.a -rw-r--r-- 1 root root 918 Jun 30 2010 /usr/lib/libjpeg.la lrwxrwxrwx 1 root root 17 Mar 21 16:19 /usr/lib/libjpeg.so -> libjpeg.so.62.0.0 lrwxrwxrwx 1 root root 17 Jan 10 10:44 /usr/lib/libjpeg.so.62 -> libjpeg.so.62.0.0 -rw-r--r-- 1 root root 145048 Jun 30 2010 /usr/lib/libjpeg.so.62.0.0
如果沒有,則需要安裝包
Debian系:
apt-get install libjpeg8-dev for jpg apt-get install zlib1g-dev for png apt-get install libwebp-dev for webp
RedHat系:
yum install libjpeg-devel libpng-devel libwebp-devel
安裝完成后,還需要手動建立軟鏈接
DEBIAN 7 & Ubuntu14.04:
ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib ln -s /usr/lib/x86_64-linux-gnu/libwebp.so /usr/lib
Centos 6.5:
ls -s /usr/lib64/libjpeg.so /usr/lib ls -s /usr/lib64/libz.so /usr/lib ls -s /usr/lib64/libwebp.so /usr/lib
重新安裝
以上就緒后,兩種辦法重新安裝:
pip install -I PIL==1.1.7
-I意思是Force reinstall。安裝完成時留意輸出對格式的支持。
或者下載源碼重裝一次,以PIL為例
wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz tar -xzvf Imaging-1.1.7.tar.gz cd Imaging-1.1.7 python setup.py install
對格式的支持可在源碼目錄下
python selftest.py * TKINTER support not installed —- JPEG support ok —- ZLIB (PNG/ZIP) support ok
如果這里有問題(Debian & Ubuntu沒有,但Centos 6.5有), 需要 python setup.py build_ext -i 然后重試。
批量轉換圖片實現(xiàn)
需求是這樣的,由于現(xiàn)在相機像素都很高,拍出來的照片很大,上傳到網(wǎng)上相冊太慢,于是要先轉下大小,之前都是直接在網(wǎng)上搜圖片處理的軟件,后來想了一下,既然會編程,這種需求完全可以自己動手搞。
Python的圖片處理爽歪歪,幾行代碼搞定,這里用的是pillow庫。
下面上代碼。
#coding=utf-8 from PIL import Image#需要pillow庫 import glob, os in_dir ='tmp_photo'#源圖片目錄 out_dir = in_dir+'_out'#轉換后圖片目錄 percent = 0.4#縮放比例 if not os.path.exists(out_dir): os.mkdir(out_dir) #圖片批處理 def main(): for files in glob.glob(in_dir+'/*'): filepath,filename = os.path.split(files) im = Image.open(files) w,h = im.size im = im.resize((int(w*percent), int(h*percent))) im.save(os.path.join(out_dir,filename)) if __name__=='__main__': main()
相關文章
Windows和Linux下使用Python訪問SqlServer的方法介紹
這篇文章主要介紹了Windows和Linux下使用Python訪問SqlServer的方法介紹,本文講解了Windows下配置Python訪問Sqlserver、Linux下配置Python訪問SqlServer等內(nèi)容,需要的朋友可以參考下2015-03-03Python實現(xiàn)加密的RAR文件解壓的方法(密碼已知)
這篇文章主要介紹了Python實現(xiàn)加密的RAR文件解壓,本文分步驟給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09Django+Uwsgi+Nginx如何實現(xiàn)生產(chǎn)環(huán)境部署
這篇文章主要介紹了Django+Uwsgi+Nginx如何實現(xiàn)生產(chǎn)環(huán)境部署,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-07-07Pandas 缺失數(shù)據(jù)處理的實現(xiàn)
這篇文章主要介紹了Pandas 缺失數(shù)據(jù)處理的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11