[PYTHON] Aufbau und Grundlagen der Bilderkennungsumgebung

Um den PC häufig zu initialisieren, überlasse ich die Umgebungskonstruktion für die Bilderkennung als Memorandum für mich selbst (dies kann ziemlich vergesslich sein, da ich normalerweise andere Arbeiten erledige). Verwenden Sie Miniconda, um eine Umgebung zu erstellen, die eine einfache Bilderkennungsverarbeitung mit OpenCV mit Python ermöglicht.

Überblick


Umweltbau mit Miniconda

Laden Sie miniconda herunter

Anaconda ist in Ordnung, aber wenn Sie einen Low-End-PC haben, empfehlen wir Miniconda. Da standardmäßig nur wenige Pakete installiert sind und kein Speicherplatz belegt wird. https://docs.conda.io/en/latest/miniconda.html Es ist in Ordnung, wenn Sie mit dem nächsten fortfahren. Es sind keine speziellen Einstellungen erforderlich.


Erstellen Sie eine virtuelle Umgebung für Python

AnacondaPronpt


(base) >conda create -n py36 python=3.6                          …(1)
(base) >conda env list                                           …(2)
# conda environments:
#
base                  *  C:\Users\XXXX\miniconda3
py36                     C:\Users\XXXX\miniconda3\envs\py36
(base) >activate py36                                            …(3)
(py36) >conda env list                                           …(4)
# conda environments:
#
base                     C:\Users\XXXX\miniconda3
py36                  *  C:\Users\XXXX\miniconda3\envs\py36
(py36) >conda install jupyter notebbok                           …(5)

(1) Erstellen Sie eine virtuelle Umgebung von Python3.6 mit dem Namen py36 (2) Überprüfen Sie, ob eine virtuelle Umgebung erstellt wurde (3) Wechseln Sie zu der zuvor erstellten virtuellen Umgebung (py36), da Sie sich derzeit in der Basisumgebung (Grundeinstellung) befinden. (4) Das Umschalten ist in Ordnung, wenn die Klammern durch (py36) und * durch py36 ersetzt werden. (5) Installieren Sie das Jupiter-Notebook

Vor kurzem benutze ich Jupiter Notebook. Ich denke, Sie können Spyder mit einem ähnlichen Gefühl erstellen. Für maschinelles Lernen denke ich, dass Python Ver ungefähr 3.6 ist. Es funktioniert oft nicht mit der neuesten Version. (Kann sich in Zukunft ändern)


Installation von Paketen zur Bilderkennung

AnacondaPronpt


(py36) >conda install numpy
(py36) >conda install matplotlib
(py36) >conda install opencv
(py36) >jupyter notebook

Starten Sie das Jupyter-Notebook und prüfen Sie, ob jedes Paket installiert ist

AnacondaPronpt


(py36) >jupyter notebook

JupyterNotebook


import cv2
import numpy  as np
import matplotlib as plt
print (cv2.__version__)
print (np.__version__)
print (plt.__version__)

Es ist in Ordnung, wenn jede Version zurückgegeben wird. (Pandas, Keras, Scikit-Learn, TensorFlor usw. werden ebenfalls empfohlen, wenn Sie persönlich an maschinellem Lernen und Analyse interessiert sind.)


Leises Gespräch: OpenCV-Geschichte

Installieren wir OpenCV, den De-facto-Standard für die Bilderkennung. Derzeit unterstützt OpenCV verschiedene Programmiersprachen wie C ++, Python und Java.

Zunächst gibt es eine Geschichte darüber, was Bilderkennung ist, aber der Einfachheit halber werden wir sie wie folgt betrachten.

Es ist leicht, Dinge nur nach Farbe und Form zu unterscheiden, aber wenn das Sonnenlicht unterschiedlich trifft, sind die sichtbaren Farben unterschiedlich, und selbst wenn Dinge abgeschnitten sind, warum können wir Dinge erkennen? Erfasst unwissentlich mehrere Funktionen und versteht sie gemäß dem Gesetz.

Wie andere Tools verfügt auch OpenCV über Tutorials. Offizielle Dokumentation ist wichtig, aber dieses Tutorial ist leicht zu verstehen. (Persönlich ist es um ein Vielfaches einfacher zu verstehen als das Django-Tutorial) </ font> http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_tutorials.html


Versuchen Sie es mit OpenCV

Laden wir zunächst das Bild und zeigen es an. Legen Sie die Bilddatei (opencv-logo.png) vorab in dem Verzeichnis ab, in dem Sie das Programm speichern möchten.

JupyterNotebook


import cv2
img = cv2.imread('./opencv-logo.png',1) 
#Das zweite Argument ist 0:Graustufen, 1:Farbbild-1:Farbe + Transparenz(α)
cv2.imshow('image',img)
#Bild im Fenster anzeigen
#Das erste Argument ist der Fenstername, der als Zeichenfolgentyp angegeben wird,Das zweite Argument ist das Bild, das Sie anzeigen möchten
cv2.waitKey(0)
#Warten Sie auf die Tasteneingabe
#Das Argument ist die Wartezeit für die Eingabe. 0 ist unbegrenzt
cv2.destroyAllWindows()
#schließe das Fenster

Warnung Wenn der Bilddateipfad falsch ist, wird kein Fehler zurückgegeben. Wenn Sie jedoch den Befehl print img ausführen, wird None angezeigt. http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_gui/py_image_display/py_image_display.html#display-image


Vertiefen Sie Ihr Verständnis von Bildern

Wenn Sie versuchen, ein Bild mit OpenCV zu verstehen, können Sie kein Programm schreiben, ohne zu verstehen, wie das Bild von OpenCV verstanden wird.

So lesen Sie Bilddaten

img.png

Das Bild ist eine dreidimensionale Anordnung von Formen (Höhe, Breite, Kanäle). https://teratail.com/questions/249839


Wie man Farbe ausdrückt

Hier werden zwei Typen vorgestellt, RGB und HSV.

  • RGB (* Beachten Sie, dass in OpenCV die Reihenfolge BGR ist)

RGB wird üblicherweise verwendet, um das additive Mischen darzustellen. RGB ist eine Abkürzung für Rot, Grün und Blau. Es sind die drei Grundfarben des Lichts und es wird weißer, wenn der Wert steigt. Im Gegenteil, es wird schwarz, wenn die Anzahl verringert wird. Dieses RGB wird auch in Computermonitoren verwendet. RGB.png

Hinweis: Wenn der Alphakanal gelesen wird, wird er als vierdimensionaler Vektor als BGRA behandelt.

  • HSV

HSV wird zum Zeichnen von Bildern auf einem Computer und als Farbmuster verwendet. Dies liegt daran, dass Farben in Bezug auf Farbton (Farbton) und Sättigung natürlicher und intuitiver sind als additives oder subtraktives Mischen. Der HSV enthält Farbton, Sättigung und Wert. Wird auch als HSB (Farbton, Sättigung, Helligkeit) bezeichnet. HSV.jpg https://ja.wikipedia.org/wiki/%E8%89%B2%E7%A9%BA%E9%96%93

Bei ordnungsgemäßer Verwendung dieses RGB und HSV werden wir versuchen, die erforderlichen Informationen aus den Bilddaten zu erhalten.


Zugriff auf und Änderung von Pixelwerten

python


import cv2
import numpy as np
img= cv2.imread('RGB.png')
px = img[100,100]
#100,Daten bei 100 Pixel (BGR)
print (px)

blue =img[100,100,0]
#100,0 Kanal bei 100 Pixel(B)Daten von
print (blue)

#Es ist auch möglich, den Pixelwert damit zu ändern
img[100,100] = [255,255,255]

Der Pixelwert des BGR-Bildes ist ein Array von blauen, grünen und roten Farbkomponentenwerten, und der Pixelwert des Graustufenbilds gibt den Helligkeitswert zurück.


Es wird aktualisiert

Recommended Posts

Aufbau und Grundlagen der Bilderkennungsumgebung
Grundlagen der CNN 1-Bilderkennung
Python-Umgebungskonstruktion und TensorFlow
Umgebungskonstruktion von NumPy und Matplotlib
Umgebungskonstruktion von Python und OpenCV
Bilderkennung
Erstellen einer Umgebung mit pyenv und pyenv-virtualenv
Python: Grundlagen der Bilderkennung mit CNN
Erstellen einer Umgebung für Python und maschinelles Lernen (macOS)
Django Umweltbau
DeepIE3D-Umgebungskonstruktion
Emacs-basierte Umgebungskonstruktion
Aufbau einer Linux-Umgebung
Umgebungskonstruktion (Python)
Django Umweltbau
CodeIgniter-Umgebungskonstruktion
Python-Umgebungskonstruktion
Python - Umgebungskonstruktion
Aufbau einer Python-Umgebung
Golang Umweltbau
Umgebungskonstruktion von word2vec
Aufbau der Python3 TensorFlow-Umgebung (Mac und pyenv virtualenv)
Aufbau einer MacOS 10.11-Umgebung: Powerline mit Anaconda und Dein.vim
Installation von Python 3 und Flask [Zusammenfassung der Umgebungskonstruktion]
Aufbau der Kissenumgebung - Für Docker + iPython (und OpenCV)
[Django3] Umgebungskonstruktion und Zusammenfassung verschiedener Einstellungen [Python3]
Umgebungskonstruktion: GCP + Docker
Bau der Django-Projektumgebung
Bilderkennung mit Keras
ConoHa Umweltbau Memo
Homebrew Python Umgebung Konstruktion
PyData-bezogene Umgebungskonstruktion
Aufbau einer Anaconda-4.2.0-Python3-Umgebung (Mac)
Aufbau einer Python-Entwicklungsumgebung
YOLO v4 Umgebungskonstruktion ①
Pfeffer-Tutorial (7): Bilderkennung
Bau von Pyenv + Fischumwelt
Perceptron Grundlagen und Implementierung
python2.7 Konstruktion der Entwicklungsumgebung
BigGorilla Umwelt Bau Memo
Griffumgebungskonstruktion onCentOS6.5
Anaconda Umwelt Bau Memo
Golang Umweltbau [goenv]
Pyxel-Umgebungskonstruktion (Mac)
Python-Umgebungskonstruktion @ Win7
Raspberry Pi + Python + IoT-Gerät, Umgebungskonstruktionsverfahren zum Starten der Bildverarbeitung und des maschinellen Lernens
Bestimmung von Baumkrankheiten durch Bilderkennung mit CNTK und SVM
Umgebungskonstruktion, einfache Bestätigung und Fähigkeitstest für jede Sprache
Erstellen Sie eine GPU-Umgebung mit GCP und kaggle offiziellem Image (Docker)
Ähnliche Gesichtsbilderkennung mit Gesichtserkennung und PCA- und K-Mittel-Clustering
[Ubuntu 18.04] Aufbau einer Tensorflow 2.0.0-GPU-Umgebung
Aufbau einer PyTorch C ++ (LibTorch) -Umgebung
Anaconda-Umgebungskonstruktion auf CentOS7
Django Entwicklungsumgebung Bau Memo
Deep Learning Bilderkennung 1 Theorie
Erste LAMP-Umgebungskonstruktion (Linux)
Aufbau einer Python-Umgebung (Windows 10 + Emacs)