Ich wollte ein mit Anaconda erstelltes Bildverarbeitungsprogramm mit Apache + Django ausführen, also eine einfache Notiz für mich. Ich mache nichts wie SSL oder Sicherheit. Es ist eine Fortsetzung von https://qiita.com/hinoma/items/5b881b8ac531a0ba7953. Vorerst ist es die Hauptfigur. Ich habe die Bilder noch nicht vorbereitet, daher werde ich sie veröffentlichen, wenn ich kann.
CSS funktioniert nicht, wenn der vorherige Artikel so ist, wie er ist. Bearbeiten Sie daher settings.py.
setting.py
import os
TEMOLATES = [
{
'DIRS' : [os.path.join(BASE_DIR, 'templates')]
LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
Erstellen Sie anschließend ein statisches Verzeichnis und ein Vorlagenverzeichnis in derselben Hierarchie wie manage.py. Legen Sie die CSS-Datei im statischen Verzeichnis und die HTML-Datei im Vorlagenverzeichnis ab.
/etc/httpd/conf.d/django.conf
#Nachtrag
WSGIApplicationGroup %{GLOBAL}
WSGIPythonHome /usr/local/bin/pyenv/versions/anaconda3-4.4.0/
Alias /static/ /var/www/komon/static/
<Directory /var/www/komon/staitc>
Require all granted
</Directory>
# python manage.py collectstatic
Lass uns das machen.
Da Sie möglicherweise OpenCV, Keras, Tensorflow usw. verwenden, installieren Sie diese.
# pip install opencv-python==4.4.0.44
# conda install keras=2.2.4
# conda install numpy=1.16.2
# conda install tensorflow=1.13.1
Wenn Sie keras = 2.2.4 installieren, wird numpy1.18 installiert, aber ein Downgrade ist erforderlich, da es damit nicht kompatibel ist.
libstdc++.so.6 version cxxabi_1.3.8' not found Dies ist der Fehler, der beim Ausführen von Apache aufgetreten ist. Anscheinend gibt es in libstdc ++ kein cxxabi_1.3.8. So.6
# strings /usr/lib64/libstdc++.so.6 | grep CXXABI_
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
Anscheinend gibt es keine 1.3.8, also muss ich das irgendwie bekommen.
# cp /usr/local/bin/pyenv/versions/anaconda3-4.4.0/lib/libstdc++.so.6.0.26 /usr/lib64/
# mv libstdc++.so.6 libstdc++.so.6.bak
# ln -s libstdc++.so.6.0.26 libstdc++.so.6
# string /usr/lib64/libstdc++.so.6 | grep CXXABI_
(CXXABI_1.3.8 ist alles was Sie brauchen)
# systemctl restart httpd
Wenn Sie dies tun und es funktioniert, finden Sie es in views.py des Django-Projekts.
import tensorflow as tf
Ich denke, es ist in Ordnung, wenn der Bildschirm durch Eingabe der IP von einem externen PC nach dem Hinzufügen angezeigt wird, wie z.
Wenn es alphanumerisch ist
cv2.putText(Bildpfad,Zeichen, die Sie anzeigen möchten, (x, y), cv2.FONT_HERSHEY_PLAIN, 2,Farbe, 1, cv2.LINE_AA)
Es kann mit angezeigt werden, Japanisch kann jedoch nicht mit opencv angezeigt werden. Verwenden Sie daher ein Kissen
from PIL import Image, ImageFont, ImageDraw
Durchläuft das Programm, aber wenn Japanisch angezeigt wird, muss die Schriftart gelesen werden. Lesen Sie sie daher mit dem folgenden Code.
font = ImageFont.truetype(fontpath, fontsize)
Dies kann in einigen Fällen zu Fehlern führen
The _imagingft C module is not installed
Wenn wird, sollte die Lösung wie folgt sein.
# yum install freetype-devel libjpeg-devel libpng-devel
# pip uninstall pil pillow
# pip install pillow
# pip list
(Überprüfen Sie, ob es Kissen damit gibt)
Es hat in meiner Umgebung funktioniert.
Recommended Posts