您好,登錄后才能下訂單哦!
PIL vs Pillow
PIL: Python Imaging Library,是python的圖像處理庫。由于PIL不兼容setuptools,再加上更新緩慢等因素,Alex Clark等一些社區好心人還是希望能夠繼續支持PIL,所以fork了PIL,這就是Pillow的緣起。
Pillow的目標
推動和促進PIL的發展是Pillow的目標,主要通過如下的方式來進行
其實可以看出,所做的改善就是在CI和CD,改善用戶感知,定期/快速地與使用者進行溝通和交流,是pillow獲得好感的一個重要因素。
安裝
安裝可以通過pip,只需要執行pip install pillow即可
liumiaocn:~ liumiao$ pip install pillow Collecting pillow Downloading https://files.pythonhosted.org/packages/df/aa/a25f211a4686f363d8ca5a1752c43a8f42459e70af13e20713d3e636f0af/Pillow-5.1.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (3.6MB) 100% |████████████████████████████████| 3.6MB 157kB/s Installing collected packages: pillow Successfully installed pillow-5.1.0 liumiaocn:~ liumiao$
安裝確認
liumiaocn:~ liumiao$ pip show pillow Name: Pillow Version: 5.1.0 Summary: Python Imaging Library (Fork) Home-page: https://python-pillow.org Author: Alex Clark (Fork Author) Author-email: aclark@aclark.net License: Standard PIL License Location: /usr/local/lib/python2.7/site-packages Requires: Required-by: liumiaocn:~ liumiao$
使用
圖形庫有很多實用的功能,這里列舉幾個進行簡單演示。
ImageGrab.grab()
使用這個方法可以實現抓屏:
liumiaocn:tmp liumiao$ cat grab.python #!/usr/local/bin/python from PIL import ImageGrab #get current screen copy image = ImageGrab.grab() #display image size print("Current screen shot size :",image.size) #display image mode print("Screen shot picture mode :", image.mode) #save picture to /tmp/screen-grab-1.bmp image.save('/tmp/screen-grab-1.bmp') #show picture image.show() liumiaocn:tmp liumiao$
因為代碼中使用了image.show()進行了顯示,執行之后可以直接看到顯示,同時也能確認到/tmp下所生成的文件
liumiaocn:tmp liumiao$ python grab.python ('Current screen shot size :', (2880, 1800)) ('Screen shot picture mode :', 'RGBA') liumiaocn:tmp liumiao$ ls -l /tmp/screen-grab-1.bmp -rw-r--r-- 1 liumiao wheel 20736054 Jun 23 05:41 /tmp/screen-grab-1.bmp liumiaocn:tmp liumiao$
濾鏡
PIL中的ImageFilter支持近十種濾鏡, 比如對剛剛抓取的圖片使用CONTOUR濾鏡
liumiaocn:tmp liumiao$ cat filter-contour.py #!/usr/local/bin/python from PIL import ImageFilter, Image src_image = Image.open('/tmp/screen-grab-1.bmp') print("begin to filter the pic") dst_image = src_image.filter(ImageFilter.CONTOUR) print("picture through filter") dst_image.show() liumiaocn:tmp liumiao$
執行之后可以得到如下圖片
旋轉
使用rotate即可對圖片進行旋轉操作:
liumiaocn:tmp liumiao$ cat rotate.py #!/usr/local/bin/python from PIL import Image src_image = Image.open('/tmp/screen-grab-1.bmp') print("begin to rotate the pic") dst_image = src_image.rotate(90) print("picture after rotating") dst_image.show() liumiaocn:tmp liumiao$
執行之后,即可確認
Pillow功能非常之多,而且使用也很方便,比如resize對尺寸進行調節,還可以添加文字等等常見的圖形處理操作,這里就不再一一介紹,具體的需要可以參看如下鏈接進行了解:https://pypi.org/project/Pillow/
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。