OpenCV für Python-Anfänger Also habe ich geschrieben, wie das Python-Beispiel in OpenCV (opencv-Verzeichnis) \ sources \ samples \ python2 ausgeführt wird.
OpenCV-Python & Scikit-Image-Ergänzung zu "Must-see" OpenCV-Python-Tutorials "2" Also habe ich gezeigt, wie man das Beispiel von Distributor of Scikit-image herunterlädt und ausführt.
"OpenCV-Python-Tutorials", "Practical Computer Vision" und Scikit-Learn Also habe ich Ihnen gezeigt, wie Sie das Beispiel von Distributor of scikit-learn herunterladen und ausführen können.
Diese Beispiele enthalten das Skript und die erforderlichen Daten als Satz, damit Sie loslegen können. Von Python wegen der Attraktivität von OpenCV-Python angezogen, Scikit-image, scikit-learn Die Zahl der Menschen, die kommen, nimmt zu.
In diesem Artikel schreibe ich den Inhalt für Python-Anfänger, um mit dem Scikit-Image-Beispiel mit einer geringfügigen Änderung zu spielen.
Referenzartikel [Serie] "CV-Programmierung mit Python und OpenCV" Teil 8: OpenCV-Python ① Bildeingabe / -ausgabe und -visualisierung (highGUI)) OpenCV-Python, Scikit-Image und Scikit-Learn verwenden alle ein gemeinsames Datenformat. aus diesem Grund, Sie können die Eingabedaten im Beispielskript für scikit-image durch etwas wie cv2.imread von OpenCV-Python ("lena.jpg ") ersetzen. Wenn Sie die Eingabedaten ersetzen, finden Sie verschiedene Dinge.
Aufgabe: [Normalized Cut] (http://scikit-image.org/docs/dev/auto_examples/segmentation/plot_ncut.html#example-segmentation-plot-ncut-py)
Lassen Sie uns das Eingabebild am Beispiel von ändern.
Lassen Sie uns die Größe des Eingabebildes ändern. Suchen Sie nach cv2.resize (). Bildverarbeitung mit Python + Opencv 5 (Größe ändern) Da der Rückgabewert von cv2.resize () das reduzierte Bild ist, Ein Merkmal der Python-Bibliothek ist, dass es einfach ist, zwischen der Eingabe und Ausgabe einer Funktion zu unterscheiden.
[Normalized Cut] (http://scikit-image.org/docs/dev/auto_examples/segmentation/plot_ncut.html#example-segmentation-plot-ncut-py)
Lassen Sie uns das Eingabebild halbieren und es am Beispiel von betreiben.
OpenCV-Python, Scicit-Image und Scikit-Learn verwenden alle ein gemeinsames Datenformat. Geben Sie für Farbbilder Indizes in der Reihenfolge img [y-Koordinate, x-Koordinate, BGR] an. In Graustufenbildern ist es ein Index von Grau [y-Koordinate, x-Koordinate]. Um die Größe des Bildes zu kennen [h, w] = img.shape[:2] [h, w] = gray.shape Es wird sein. Der Bereich der y-Koordinaten ist 0 für den Minimalwert und h-1 für den Maximalwert. Der Bereich der x-Koordinaten ist 0 für den Minimalwert und w-1 für den Maximalwert.
subImg = img[yu:yd, xl:xr, :] Wenn der Punkt (yu, yd) im Teilbild enthalten ist, Beachten Sie, dass die Positionen yd und xr nicht im Teilbild enthalten sind.
Referenzartikel Bilder mit Python und OpenCV teilen
Verwenden Sie den obigen Normalisierten Schnitt, um das Eingabebild zu einem Teilbild zu machen.
Bei OpenCV-C ++ wird das Datenformat von cv :: Mat verwendet. Auch in diesem Fall cv::Mat img = cv2.imread("lena.jpg ", 0);
Zugriff auf die Elemente von cv :: Mat
Der erste Index ist y und der zweite Index ist x.
Dies gilt sowohl für OpenCV-Python mit numpy.array als auch für OpenCV-C ++ mit cv :: Mat.
img.at
Tipp 2 Mehrere Dateien verarbeiten
Recommended Posts