Linux上安裝Python的PIL和Pillow庫(kù)處理圖片的實(shí)例教程
Jul 06, 2016 pm 01:29 PM安裝
正常情況,只需
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為例。
依賴庫(kù)(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
如果沒(méi)有,則需要安裝包
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
安裝完成后,還需要手動(dòng)建立軟鏈接
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。安裝完成時(shí)留意輸出對(duì)格式的支持。
或者下載源碼重裝一次,以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
對(duì)格式的支持可在源碼目錄下
python selftest.py * TKINTER support not installed —- JPEG support ok —- ZLIB (PNG/ZIP) support ok
如果這里有問(wèn)題(Debian & Ubuntu沒(méi)有,但Centos 6.5有), 需要 python setup.py build_ext -i 然后重試。
批量轉(zhuǎn)換圖片實(shí)現(xiàn)
需求是這樣的,由于現(xiàn)在相機(jī)像素都很高,拍出來(lái)的照片很大,上傳到網(wǎng)上相冊(cè)太慢,于是要先轉(zhuǎn)下大小,之前都是直接在網(wǎng)上搜圖片處理的軟件,后來(lái)想了一下,既然會(huì)編程,這種需求完全可以自己動(dòng)手搞。
Python的圖片處理爽歪歪,幾行代碼搞定,這里用的是pillow庫(kù)。
下面上代碼。
#coding=utf-8 from PIL import Image#需要pillow庫(kù) import glob, os in_dir ='tmp_photo'#源圖片目錄 out_dir = in_dir+'_out'#轉(zhuǎn)換后圖片目錄 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()

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Installieren Sie PYODBC: Verwenden Sie den Befehl pipinstallpyoDBC, um die Bibliothek zu installieren. 2. SQLServer verbinden: Verwenden Sie die Verbindungszeichenfolge, die Treiber, Server, Datenbank, UID/PWD oder Trusted_Connection über die Methode Pyodbc.Connect () und die SQL -Authentifizierung bzw. der Windows -Authentifizierung unterstützen; 3. überprüfen Sie den installierten Treiber: Führen Sie Pyodbc.Drivers () aus und filtern Sie den Treibernamen mit 'SQLServer', um sicherzustellen, dass der richtige Treiberame wie 'ODBCDRIVER17 für SQLServer' verwendet wird. 4. Schlüsselparameter der Verbindungszeichenfolge

Die Einführung in statistische Arbitrage Statistical Arbitrage ist eine Handelsmethode, die auf der Grundlage mathematischer Modelle Preisfehlanpassungen auf dem Finanzmarkt erfasst. Die Kernphilosophie beruht auf der mittleren Regression, dh, dass die Verm?genspreise kurzfristig von langfristigen Trends abweichen, aber schlie?lich zu ihrem historischen Durchschnitt zurückkehren. H?ndler verwenden statistische Methoden, um die Korrelation zwischen Verm?genswerten zu analysieren und nach Portfolios zu suchen, die normalerweise synchron ver?ndern. Wenn das Preisverh?ltnis dieser Verm?genswerte ungew?hnlich abgewichen ist, ergeben sich Arbitrage -M?glichkeiten. Auf dem Kryptow?hrungsmarkt ist die statistische Arbitrage besonders weit verbreitet, haupts?chlich aufgrund der Ineffizienz und drastischen Marktschwankungen des Marktes selbst. Im Gegensatz zu den traditionellen Finanzm?rkten arbeiten Kryptow?hrungen rund um die Uhr und ihre Preise sind ?u?erst anf?llig für Verst??e gegen Nachrichten, Social -Media -Stimmung und technologische Upgrades. Diese konstante Preisschwankung schafft h?ufig Preisgestaltung und liefert Arbitrageure mit

cronisusedForprecisesDulingonalways-Einsysteme, whileanaconeSureSureStoctasKsRunonSystemthataren'tcontinuouslyPowered, Suchaslaptops; 1.USecronforexacttiming (z

WindowsSbetterForBeginersDuetoeaseofuse, SeamlessHardWarecompatibilit?t und SupportformainStreamSoftwarelikemicrosoftOfficAndAbApps.2.LinuxoutPerformswindowSonolderorlow-Resourcehardwarewithfasterboottimes, LowersyStemRequeStemeStemRequirements und LowsSystems und LesslosedleSble

Shutil.rmtree () ist eine Funktion in Python, die den gesamten Verzeichnisbaum rekursiv l?scht. Es kann bestimmte Ordner und alle Inhalte l?schen. 1. Basisnutzung: Verwenden Sie Shutil.rmtree (Pfad), um das Verzeichnis zu l?schen, und Sie müssen FilenotFoundError, Erlaubnissekror und andere Ausnahmen verarbeiten. 2. Praktische Anwendung: Sie k?nnen Ordner, die Unterverzeichnisse und Dateien enthalten, in einem Klick l?schen, z. B. tempor?re Daten oder zwischengespeicherte Verzeichnisse. 3. ANMERKUNGEN: Der L?schvorgang wird nicht wiederhergestellt; FilenotFoundError wird geworfen, wenn der Weg nicht existiert. Es kann aufgrund von Berechtigungen oder Einstellungen fehlschlagen. 4. Optionale Parameter: Fehler k?nnen von ignore_errors = true ignoriert werden

Es gibt drei Hauptmethoden, um Software unter Linux zu installieren: 1. Verwenden Sie einen Paketmanager wie APT, DNF oder Pacman und führen dann den Installationsbefehl aus, nachdem die Quelle aktualisiert wurde, wie z. B. sudoaptininstallcurl; 2. Verwenden Sie für .deb- oder .rpm -Dateien DPKG- oder RPM -Befehle, um Abh?ngigkeiten bei Bedarf zu installieren und zu reparieren. 3.. Verwenden Sie Snap oder Flatpak, um Anwendungen über Plattformen hinweg zu installieren, z. Es wird empfohlen, den eigenen Paketmanager des Systems für eine bessere Kompatibilit?t und Leistung zu verwenden.

Linux ist für alte Hardware geeignet, verfügt über eine hohe Sicherheit und ist anpassbar, hat jedoch eine schwache Softwarekompatibilit?t. Windows -Software ist reich und einfach zu bedienen, verfügt jedoch über eine hohe Ressourcenauslastung. 1. In Bezug auf die Leistung ist Linux leicht und effizient und für alte Ger?te geeignet. Windows hat hohe Hardwareanforderungen. 2. In Bezug auf die Software hat Windows eine gr??ere Kompatibilit?t, insbesondere professionelle Tools und Spiele. Linux muss Tools verwenden, um Software auszuführen. 3. In Bezug auf die Sicherheit ist das Linux -Berechtigungsmanagement strenger und Aktualisierungen sind bequem. Obwohl Windows geschützt ist, ist es immer noch anf?llig für Angriffe. 4. In Bezug auf die Nutzungsschwierigkeit ist die Linux -Lernkurve steil; Der Windows -Betrieb ist intuitiv. W?hlen Sie gem?? den Anforderungen: W?hlen Sie Linux mit Leistung und Sicherheit aus und w?hlen Sie Windows mit Kompatibilit?t und Benutzerfreundlichkeit aus.

Installieren Sie den entsprechenden Datenbanktreiber; 2. verwenden Sie Connect (), um eine Verbindung zur Datenbank herzustellen. 3. Erstellen Sie ein Cursorobjekt; V. 5. Verwenden Sie Fetchall () usw., um Ergebnisse zu erhalten. 6. Commit () ist nach der ?nderung erforderlich; 7. Schlie?lich schlie?en Sie die Verbindung oder verwenden Sie einen Kontextmanager, um sie automatisch zu behandeln. Der vollst?ndige Prozess stellt sicher, dass die SQL -Operationen sicher und effizient sind.
