Example tutorial on installing Python's PIL and Pillow libraries for image processing on Linux

WBOY
Release: 2016-07-06 13:29:49
Original
1341 people have browsed it

Installation
Normal situation, just

pip install PIL==1.1.7
Copy after login

or

pip install Pillow==2.9.0
Copy after login

That’s it. But please pay attention to the output after installation
After the installation is complete, please pay attention to the output:

*** 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
Copy after login

Is there a required but unsupported format? If so, support packages need to be installed. Take jpg/png/web as an example.
Dependent library (library) installation
First check if it is installed

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

Copy after login

If not, you need to install the package
Debian system:

apt-get install libjpeg8-dev for jpg
apt-get install zlib1g-dev for png
apt-get install libwebp-dev for webp
Copy after login

RedHat system:

yum install libjpeg-devel libpng-devel libwebp-devel
Copy after login

After the installation is complete, you still need to manually create a soft link
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
Copy after login

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
Copy after login

Reinstall
After the above is ready, there are two ways to reinstall:

pip install -I PIL==1.1.7
Copy after login

-I means Force reinstall. When the installation is complete, pay attention to the output format support.
Or download the source code and reinstall it, taking PIL as an example

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
Copy after login

Format support can be found in the source code directory

python selftest.py
* TKINTER support not installed
—- JPEG support ok
—- ZLIB (PNG/ZIP) support ok
Copy after login

If there is a problem here (not in Debian & Ubuntu, but Centos 6.5), you need to python setup.py build_ext -i and try again.

Batch conversion of images
The demand is like this. Since cameras now have very high pixels, the photos taken are very large, and it is too slow to upload them to online photo albums, so I need to change the size first. Before, I searched for image processing software directly on the Internet. Later, After thinking about it for a while, since I know how to program, I can definitely do this myself.
Python's image processing is very cool. It can be done with just a few lines of code. The pillow library is used here.
Code below.

#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() 

Copy after login

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!