[PYTHON] Fehler, der in OpenCV3 und seiner Lösung aufgetreten ist. Vorsichtsmaßnahmen bei Verwendung von OpenCV3 auf dem Mac

Problem

Lassen Sie uns das ganze Lernen mit Minist durchgehen und es mit Ihrem Lieblingsbild machen! Fehler, der kurz vor meinem Gedanken aufgetreten ist (wahrscheinlich nur Mac)

deep_learning_test.py


train_img_dirs = ['T','F']
train_image = []
train_label = []

for i, d in enumerate(train_img_dirs):
    # ./data/Rufen Sie den Dateinamen in jedem der folgenden Verzeichnisse ab
    files = os.listdir('./data/' + d)
    for f in files:
        #Bild wird geladen
        img = cv2.imread('./data/' + d + '/' + f)
        img = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
        #Eine Seite ist IMG_Ändern Sie die Größe auf das Quadrat GRÖSSE
        img = cv2.resize(img, (IMG_SIZE, IMG_SIZE))
        #In einer Reihe
        img = img.flatten().astype(np.float32)/255.0
        train_image.append(img)

        # one_hot_Erstellen Sie einen Vektor und fügen Sie ihn als Beschriftung hinzu
        tmp = np.zeros(NUM_CLASSES)
        tmp[i] = 1
        train_label.append(tmp)

Wenn ich das kompiliere ...

OpenCV Error: Assertion failed (scn == 3 || scn == 4) in ipp_cvtColor

Fallen Sie hinein. Warum

Ursache

https://stackoverflow.com/questions/20822288/python-opencv-cv2-opencv-error-assertion-failed-scn-3-scn-4-in-unkno gemäß Wenn ich versuche zu drucken (img.shape) und das Ergebnis vom Typ None ist, scheint das Bild nicht richtig gelesen zu werden. Drucken Sie also (d) und (f), um die geladenen Verzeichnisse und Dateien anzuzeigen.

$ T
$ .DS_Store

Kam heraus. Das Verzeichnis wurde korrekt gelesen, aber die Datei enthält ein Beispiel. Es lief nicht gut, weil .DS_Store geladen wurde.

Was ist .DS_Store? Eine versteckte Datei zum Aufzeichnen von Metadaten zu Ordneranzeigeeinstellungen wie Symbolposition und Anzeigeeinstellungen. In jedem Ordner, auf den Sie zugreifen, wurde sowohl im Finder als auch auf dem Remote-System eine .DS_Store-Datei erstellt.

Lösungen

Löschen Sie .DS_Store in einem separaten Verzeichnis

find Desktop/Zielverzeichnis-name ".DS_Store" -print  -exec rm {} ";"

Alles löschen

sudo find / -name ".DS_Store" -delete

Wird in Zukunft nicht mehr erstellt

defaults write com.apple.desktopservices DSDontWriteNetworkStores True

Sie können es auch einfach mit einer App namens MacForkCleaner löschen.

Schließlich

Beim ersten OpenCV hatte ich einige Probleme und fragte mich, ob der Schreibstil oder das Bildformat falsch waren. (Ich kann es überhaupt nicht finden, selbst wenn ich es überprüfe) Bitte beziehen Sie sich auf diejenigen, die mit MacOS in das gleiche Phänomen geraten sind. Da .DS_Store eine versteckte Datei ist, habe ich nicht bemerkt, dass ich Pat anschaue. Bemerken es andere Menschen durch Erfahrung?

Referenzseite

Löschen Sie .DS_Store vom Mac http://qiita.com/supersnack/items/157b69589e36f340bb29 Wie .DS_Store funktioniert und wie festgelegt wird, dass es nicht gelöscht und erstellt wird http://uxmilk.jp/48160 Python-OpenCV cv2 OpenCV Error: Assertion failed (scn == 3 || scn == 4) in unknown function, file ......\modules\imgproc\src\color.cpp https://stackoverflow.com/questions/20822288/python-opencv-cv2-opencv-error-assertion-failed-scn-3-scn-4-in-unkno

Recommended Posts

Fehler, der in OpenCV3 und seiner Lösung aufgetreten ist. Vorsichtsmaßnahmen bei Verwendung von OpenCV3 auf dem Mac
Fehlerdetails und Gegenmaßnahmen, die in OpenCv2 beim Ausführen des Objekterkennungs-Beispielprogramms von "Object Detect on Tools" aufgetreten sind.
Fehler und Lösung bei der Installation von Python3 mit Homebrew auf einem Mac (Catalina 10.15)
Warnung bei Verwendung von TensorFlow auf einem Mac
Hinweis: Wenn Python auf ImageJ Fiji ausgeführt wird, wird java.lang.IllegalArgumentException und seine Lösung (Mac OS) angezeigt.
Vorsichtsmaßnahmen bei der Verwendung von Pit mit Python
Vorsichtsmaßnahmen bei der Verwendung von Codecs und Pandas
# Lösung bei der Pip-Installation tritt bei Verwendung von Anaconda unter Windows 10 ein Fehler auf
[Python] Fehler- und Lösungsnotiz bei Verwendung von venv mit pyenv + anaconda
[Linux / GCP] Umgang mit Fehlern, die bei Verwendung des Git-Befehls aufgetreten sind
Beim Versuch, Xgboost und seine Lösung zu installieren, ist ein Fehler aufgetreten
Vorsichtsmaßnahmen bei Verwendung der for-Anweisung in Pandas
Vorsichtsmaßnahmen und Fehlerbehandlung beim Aufrufen der .NET-DLL aus Python mit Pythonnet
Eine Geschichte über einen Fehler, wenn PyInstaller in einem Programm verwendet wird, das googleapiclient verwendet
Vorsichtsmaßnahmen bei Verwendung von sqlite3 von macOS Sierra (10.12) mit Multiprocessing
Ich erhalte eine Fehlermeldung, wenn ich opencv in pyautoGUI einfüge
Fehler in der GUI bei Verwendung von PyQt5 unter Ubuntu (WSL2)
Lösung, wenn Heroku bei Verwendung von Selen abstürzt
Beenden bei Verwendung von Python in Terminal (Mac)
Mindestnotizen bei Verwendung von Python auf Mac (pyenv edition)
Mindestnotizen bei Verwendung von Python auf Mac (Homebrew Edition)
Bewegungsvorlagenanalyse mit OpenCV (Erkennen von Objekten und deren Bewegungsrichtungen in Echtzeit)
So löschen Sie "(base)", das im Terminal angezeigt wird, wenn Anaconda auf einem Mac installiert ist
Vorsichtsmaßnahmen bei der Verwendung von Chainer
Erstellen einer Python-Umgebung auf einem Mac bis zur Verwendung von Jupyter Lab
Skripte, die bei der Verwendung von Bottle in Python verwendet werden können
Vorsichtsmaßnahmen und Lösungen bei der Installation von Ubuntu auf einem PC mit NVIDIA Gravo
Ich habe einen Fehler bekommen, als ich versucht habe, Luigi parallel in Windows zu verarbeiten, aber die Lösung
Vorsichtsmaßnahmen bei der Überlagerung der Wahrscheinlichkeitsdichtefunktion und des Histogramms in matplotlib