** Lesesitzung "Erste Mustererkennung" ** steht kurz vor dem Ende, daher lautet das Thema in der nächsten Reihe "[Practical Computer Vision]". (http://www.oreilly.co.jp/books/9784873116075/) ”ist erschienen.
Es ist nur in meinem Haus aufbewahrt, also dachte ich, ich würde es herausziehen und eine Weile lesen, aber ich war süchtig danach, die Umgebung zu schaffen. Und aus einem Grund, der nicht wirklich wichtig ist. Erbärmlich ...
Machen Sie sich eine Notiz, damit niemand der gleichen Brunft folgt.
Ich kann es per Pip installieren, PIL installieren, ohne an irgendetwas zu denken, aber wenn ich die JPEG-Datei lese und versuche, sie mit Pylab anzuzeigen, erhalte ich die folgende Fehlermeldung.
IOError: decoder jpeg not available
Mir wurde gesagt, dass es keinen JPEG-Decoder gibt. Als ich ihn googelte, schien es, dass libjpeg-dev installiert werden muss. Als ich jedoch sudo apt-get libjpeg-dev installierte, war ich wütend auf "Ich habe es bereits!".
Wenn libjpeg-dev mit apt installiert wird, wird libjpeg.so unter / usr / lib / x86_64-linux-gnu / erstellt, aber es scheint, dass dieser Ordner bei der Installation von PIL mit pip nicht angezeigt wird.
Setzen wir also einen symbolischen Link, den Sie von pip aus sehen können.
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/libjpeg.so
Nach dem Verknüpfen habe ich PIL neu installiert und es hat gut funktioniert.
http://atasatamatara.hatenablog.jp/entry/20120723/1343044059
matplotlib kann auch mit pip eingegeben werden. Numpy ist wegen der Abhängigkeit ebenfalls enthalten.
Bei der Ausführung von pylab.show () wird jedoch nichts angezeigt. Ich bekomme nicht einmal einen Fehler. Was ist das? ?? ??
Nach der Untersuchung scheint das Backend für die Bildschirmanzeige entsprechend eingestellt zu sein. Wo es eingestellt werden soll, ist eine Datei namens matplotlibrc. Der folgende Befehl teilt Ihnen den Standort mit.
>>> import matplotlib
>>> matplotlib.matplotlib_fname()
matplotlibrc
backend : agg
Mit einem Backend namens agg können Sie in eine Datei schreiben, aber kein Fenster öffnen und auf dem Bildschirm anzeigen.
Eigentlich ist matplotlib auch in systemweitem Python enthalten, aber wenn ich mir dieses matplotlibrc anschaue, ist das Backend Tkagg. Es sieht so aus, als würden Sie Tkinter verwenden.
Also werde ich von agg nach Tkagg umschreiben. Dann trat diesmal der folgende Fehler auf.
No module named _tkagg
Es scheint, dass beim Kompilieren von matplotlib keine Datei mit dem Namen _tkagg.py generiert wird. Um dies zu lösen, müssen Sie tk-dev installieren.
sudo apt-get install tk-dev
Dieses Mal befindet es sich unter / usr / lib, sodass kein Link eingefügt werden muss. Wenn Sie matplotlib nach der Installation von tk-dev neu installieren, ist dies in Ordnung.
Ich habe es in der Reihenfolge geschrieben, in der ich verschiedene Dinge durch Herumtasten ausprobiert habe, aber es sollte so eingerichtet sein.
sudo apt-get install libjpeg tk-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/libjpeg.so
pip install PIL
pip install matplotlib
vim /path/to/your/matplotlibrc
###Schreiben Sie das Backend in Tkapp um
Übrigens, wenn Sie googeln, werden die Informationen so ausgegeben, wie sie sind, aber weil ich entschieden habe, dass "Wenn es sich um eine systemweite Matplotlib handelt, werden sie mit tk korrekt angezeigt, sodass es keinen Grund gibt, warum tk-dev nicht enthalten ist" und dies nicht bestätigt haben. Ich bin süchtig danach.
Ich erinnere mich nicht, wie es passiert ist, aber vielleicht war es passend, als ich es systemweit einfügte, und da ich es binär eingefügt habe, war _tkagg sogar ohne tk-dev enthalten ...
Recommended Posts