Exportieren Sie PythonC Version OpenCV KeyPoint in eine Datei

Als ich versuchte, KeyPoint mit dem Pickle-Modul in eine Datei zu schreiben, wurde eine Fehlermeldung angezeigt. Es ist ein Memo der damaligen Gegenmaßnahme. Wenn Sie danach suchen, wird es ziemlich schnell herauskommen, so dass möglicherweise nicht viel Nachfrage besteht, aber vorerst.

Umgebung

Referenz-URL

http://stackoverflow.com/questions/26501193/opencv-python-find-a-code-for-writing-keypoins-to-a-file Fast das gleiche wie die Antwort hier

Fehlerbeispiel

out_kp_and_des.py


import cv2
import pickle


img = cv2.imread('XXXX.jpg')
detector = cv2.AKAZE_create()
#Schlüsselpunkte und Deskriptoren
kp, des = detector.detectAndCompute(img, None)

with open('XXXX.pickle', mode='wb') as f:
    pickle.dump((kp, des), f)

Wenn Sie versuchen, KeyPoint so zu übernehmen, wie es ist, wird eine Fehlermeldung wie "PicklingError: <class'cv2.KeyPoint" kann nicht ausgewählt werden: Es ist nicht dasselbe Objekt wie cv2.KeyPoint ".

Lösung

out_kp_and_des.py


import cv2
import pickle


img = cv2.imread('XXXX.jpg')
detector = cv2.AKAZE_create()
kp, des = detector.detectAndCompute(img, None)

index = []
for p in kp:
    temp = (p.pt, p.size, p.angle, p.response, p.octave, p.class_id)
    index.append(temp)
with open('XXXX.pickle', mode='wb') as f:
    pickle.dump((index, des), f)

Nehmen Sie das KeyPoint-Attribut heraus und fügen Sie es in die Liste ein, damit es sich wie Pickle anfühlt. Das Lesen der Datei sieht wie folgt aus.

load_kp_and_des.py


import cv2
import pickle


with open('XXXX.pickle', mode='rb') as f:
    index, des = pickle.load(f)
kp = []
for p in index:
    temp = cv2.KeyPoint(x=p[0][0], y=p[0][1], _size=p[1], _angle=p[2],
                        _response=p[3], _octave=p[4], _class_id=p[5])
    kp.append(temp)

Recommended Posts

Exportieren Sie PythonC Version OpenCV KeyPoint in eine Datei
So erstellen Sie eine JSON-Datei in Python
Einführung in OpenCV (Python) - (2)
Ich möchte mit Python in eine Datei schreiben
Analysieren Sie eine JSON-Zeichenfolge, die in eine Datei in Python geschrieben wurde
Ein Memorandum zum Ausführen eines Python-Skripts in einer Bat-Datei
Ich möchte eine Datei mit Python zufällig testen
Python-Skript, das eine JSON-Datei aus einer CSV-Datei erstellt
Ein Weg zum mittleren Python
Einführung in Python (Python-Version APG4b)
So ändern Sie die Python-Version
Exportieren Sie eine komprimierte gzip-Textdatei
[Python] Ändern Sie den Namen der Bilddatei in eine Seriennummer
So führen Sie eine Python-Datei an einer Windows 10-Eingabeaufforderung aus
Ein Python-Skript, das ein GTK-Bild (Clipboard) in einer Datei speichert.
Ändern Sie das Standardausgabeziel in eine Datei in Python
So importieren Sie Dateien in Python an eine beliebige Stelle
[Python] So geben Sie eine Pandas-Tabelle in eine Excel-Datei aus
Ausgabe in eine CSV-Datei mit Python
Schreiben Sie die Standardausgabe in eine Datei
So erhalten Sie die Python-Version
Erstellen Sie eine Binärdatei in Python
5 Möglichkeiten zum Erstellen eines Python-Chatbots
Einführung in die Bildanalyse opencv python
Python-Version, um nicht verwendete Ports zu erhalten
So erstellen Sie eine Konfigurationsdatei
[AWS SAM] Einführung in die Python-Version
Datei-Upload in Azure Storage (Python)
Ich habe versucht, eine Python-Datei in eine EXE-Datei zu verwandeln (Rekursionsfehler unterstützt)
Verarbeiten Sie das Ausführungsergebnis von Splunk mit Python und speichern Sie es in einer Datei
Erstellen Sie ein Shell-Skript, um die Python-Datei mehrmals auszuführen
So erstellen Sie eine Überwachungskamera (Überwachungskamera) mit Opencv und Python
Ich habe versucht, die Videowiedergabezeit anzuzeigen (OpenCV: Python-Version)
Wenn Sie einer Variablen in Python einen CSV-Export zuweisen möchten
Python vba zum Erstellen einer Datumszeichenfolge zum Erstellen eines Dateinamens
[ROS2] So spielen Sie eine Bag-Datei mit Start im Python-Format ab
Versuchen Sie, Ihrer IFC-Datei mit IfcOpenShell Python eine Wand hinzuzufügen
[Python] So konvertieren Sie eine Datenbankdatei in CSV
Erstellen einer einfachen Power-Datei mit Python
Erstellen Sie Verknüpfungen, um Python-Dateien auf dem Terminal mit VScode auszuführen
[Python] Wie man eine Klasse iterierbar macht
[Python] So konvertieren Sie eine zweidimensionale Liste in eine eindimensionale Liste
So konvertieren Sie Python in eine exe-Datei
Python Bit Arithmetic Super Einführung
[Python] Konvertieren Sie CSV-Dateibegrenzer in Tabulatortrennzeichen
Konvertieren Sie die psd-Datei in Python in png
Ich möchte eine Python-Umgebung erstellen
[Python] So invertieren Sie eine Zeichenfolge
Wie bekomme ich Stacktrace in Python?
[Python] Lesen der CSV-Datei (Methode read_csv des Pandas-Moduls)
Lesen Sie Python csv und exportieren Sie es nach txt
Erstellen Sie eine Deb-Datei aus einem Python-Paket
[GPS] Erstellen Sie eine kml-Datei mit Python
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 3 Schreiben Sie in eine Datei
Skript zum Erstellen einer Mac-Wörterbuchdatei
Erstellen Sie eine Python + OpenCV-Umgebung in Cloud9
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen