Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 3 Schreiben Sie in eine Datei

Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden

Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 2 Verarbeiten Sie mehrere Dateien

Als nächstes werde ich den Inhalt für Python-Anfänger schreiben, um mit dem Beispiel von Scikit-image mit einer geringfügigen Änderung zu spielen.

Fahren Sie mit [Normalisierter Schnitt] fort (http://scikit-image.org/docs/dev/auto_examples/segmentation/plot_ncut.html#normalized-cut).

sphx_glr_plot_ncut_001.png

Wird auf der Tagesordnung stehen.

In [Tipps 2 für Python-Anfänger, das Scikit-Bildbeispiel für sich selbst zu verwenden und mehrere Dateien zu verarbeiten] konnten wir verschiedene Bilder verarbeiten.

Möglicherweise sind Sie jedoch unzufrieden, da die Ergebnisse nicht so wie sie sind in der Datei gespeichert werden können.

Daher möchte ich Ihnen einige Tipps zum Speichern in einer Datei geben.

** OpenCV-Bild mit Python speichern **

cv2.imwrite("out.png ", img) OpenCV-Python Tutorials >> Getting Started with Images

** Bild als Seriennummer speichern **

python


for  i in range(len(names)):
    img = cv2.imread(names[i])
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    oname = "gray_%04d.png "  % i
    cv2.imwrite(oname, gray)

Die Funktion, die der Formatierung von prinft () / sprinft () / fprintf () in der Sprache C entspricht, lautet Python-Standardbibliothek / String-Format-Operation Es ist in.

** Operationen in Bezug auf Verzeichnisse und Dateinamen **

os.path.dirname() os.path.basename() os.path.splitext() os.path.join()

Python-Standardbibliothek / os.path - allgemeine Pfadnamenoperation

Wenn das Ausgabezielverzeichnis odir nicht vorhanden ist Es ist üblich, ein Verzeichnis wie folgt zu erstellen:

python


if not os.path.isdir(odir):
    os.makedirs(odir)

Python-Standardbibliothek / Betriebssystem - verschiedene Betriebssystemschnittstellen

os.makedirs (Pfad [, Modus]) Rekursive Verzeichniserstellungsfunktion. Ähnlich wie mkdir (), erstellt jedoch alle Zwischenverzeichnisse, die zum Erstellen des Blattverzeichnisses erforderlich sind.

oname = os.path.join(odir, "img_%05d.png " % i) Wenn Sie das Ausgabeverzeichnis in den Ausgabedateinamen wie einfügen Sie können in ein anderes Verzeichnis als das Skriptausführungsverzeichnis ausgeben.

** Operationen im Zusammenhang mit dem Ersetzen von Zeichenfolgen **

Der Name der Ausgabedatei kann auch aus dem Namen der Eingabedatei durch die Ersetzungsfunktion generiert werden. Die Zeichenfolge verfügt über eine replace () -Methode, die die ersetzte Zeichenfolge als Rückgabewert zurückgibt. replace(old, new[, count]) Python-Standardbibliothek / Zeichenfolgenmethoden

Mit diesen Funktionen können Sie den Namen der Ausgabezieldatei frei festlegen.

Aufgabe:

"Hinweis: Verarbeiten wir mehrere Dateien mit dem Namen in glob.glob (" * .jpg "):" Versuchen wir, das Ergebnis anhand des in gezeigten Beispiels in einer Datei zu speichern. Bedingung: Erstellen Sie ein Ausgabezielverzeichnis "out" und speichern Sie die Datei dort. Bedingung: Speichern Sie die Eingabe "image.jpg " unter dem Dateinamen "out / image_ncut.png ".

Sie sollten in der Lage sein, mit den bisher gegebenen Hinweisen zu codieren. Genießen Sie die OpenCV-Python-, Scikit-Image- und Scikit-Learn-Bibliotheken, auch wenn Sie Python noch nicht kennen.

** Hinweis: **

In Python 3

https://docs.python.jp/3/library/pathlib.html Scheint besser zu sein.

python


# -*- coding: utf-8 -*-
# pylint: disable=C0103
import pathlib
from skimage import io, segmentation, color
from skimage.future import graph

def plotNcut(img):
    """
    img: color img

    """

    labels1 = segmentation.slic(img, compactness=30, n_segments=400)
    g = graph.rag_mean_color(img, labels1, mode='similarity')
    labels2 = graph.cut_normalized(labels1, g)
    return color.label2rgb(labels2, img, kind='avg'), labels2

if __name__ == "__main__":
    oDir = pathlib.Path("out")
    if not oDir.is_dir():
       oDir.mkdir() 
    for p in pathlib.Path("../images").glob("*.png "):
        print(p)
        
        oname = oDir.joinpath(p.with_suffix(".jpg ").name)
        img = io.imread(p)
        out, _ = plotNcut(img)
        io.imsave(str(oname), out)
        print(oname)

Tipp 4 Verwenden Sie die GUI

Recommended Posts

Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 3 Schreiben Sie in eine Datei
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 4 Verwenden Sie die GUI
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 5 In Netzwerk-Apps integrieren
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 7 Erstellen eines Moduls
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 9 Verwendung aus der C-Sprache
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 6 Verbessern Sie den Python-Code
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 2 Verarbeiten Sie mehrere Dateien
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 8 Verarbeitungszeitmessung und Profiler
~ Tipps für Python-Anfänger mit Liebe von Pythonista ③ ~
Ich möchte mit Python in eine Datei schreiben
Verwenden Sie eine Skriptsprache für ein komfortables C ++ - Leben - OpenCV-Port Python zu C ++ -
[Python] Mit Python in eine CSV-Datei schreiben
Web Scraping für Anfänger in Python (1)
Web Scraping für Anfänger in Python (4) -1
[Einführung in Python] Wie verwende ich den Operator in in der for-Anweisung?
[Python] Organisieren der Verwendung für Anweisungen
Verwendung von "deque" für Python-Daten
Ein Lehrbuch für Anfänger von Python-Anfängern
Ich habe einen Docker-Container erstellt, um JUMAN ++, KNP, Python (für pyKNP) zu verwenden.
[Python] Es war sehr praktisch, die Python-Klasse für das ROS-Programm zu verwenden.
Fehler aufgrund von UnicodeDecodeError beim Lesen der CSV-Datei mit Python [Für Anfänger]
Memo Nr. 4, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Lesen einer CSV-Datei mit Python 2/3
Der schnellste Weg für Anfänger, um Python zu beherrschen
Python für Super-Anfänger Super-Anfänger Python # Einfach loszuwerden
Tipps für diejenigen, die verwirrt sind, wie man is und == in Python verwendet
So erstellen Sie eine JSON-Datei in Python
[Python] Kombinieren von Listen mit Zahlen zu Zeichenfolgen und Schreiben in eine Ausgabedatei
Memo Nr. 1, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
~ Tipps für Python-Anfänger mit Liebe von Pythonista ① ~
Verwendung von Datenanalysetools für Anfänger
So schreiben Sie einen ShellScript Bash für Anweisung
Exportieren Sie PythonC Version OpenCV KeyPoint in eine Datei
Python-Skript zum Abrufen einer Liste von Eingabebeispielen für den AtCoder-Wettbewerb
Auf der Suche nach einer effizienten Möglichkeit, eine Docker-Datei mit Python mit Gedichten zu schreiben
Memo Nr. 7, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Einführung in die Programmierung (Python) TA Tendenz für Anfänger
Memo Nr. 6 für Python-Anfänger zum Lesen von "Detaillierte Erklärung der Python-Grammatik"
Wie man Python für Anfänger schneller macht [numpy]
~ Tipps für Python-Anfänger mit Liebe von Pythonista ② ~
Memo Nr. 5, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Verwendung von pip, einem Paketverwaltungssystem, das für die Verwendung von Python unverzichtbar ist
[Python] Ich möchte nur den Index verwenden, wenn ich eine Liste mit einer for-Anweisung schleife
Ein Python-Skript, das die Start- / Endzeit des Mac für die Anwesenheitsverwaltung verwenden möchte
Verwendung der NUITKA-Utilities-Hinweis-Kompilierung zum einfachen Erstellen einer ausführbaren Datei aus einem Python-Skript
Erstellen Sie einen Datensatz mit Bildern, die für das Training verwendet werden sollen
[BigQuery] Verwendung der BigQuery-API für die Python-Tabellenerstellung-
Web Scraping für Anfänger in Python (1) Verbesserte Version
Analysieren Sie eine JSON-Zeichenfolge, die in eine Datei in Python geschrieben wurde
Schreiben Sie über das Erstellen einer Python-Umgebung zum Schreiben von Qiita Qiita
So konvertieren Sie den Python # -Typ für Super-Anfänger von Python: str
[Für Anfänger] So studieren Sie den Python3-Datenanalysetest
Ich möchte in Python schreiben! (2) Schreiben wir einen Test
So schreiben Sie einen Listen- / Wörterbuchtyp von Python3
Ein Memorandum zum Ausführen eines Python-Skripts in einer Bat-Datei
[Einführung in Python] Hochgeschwindigkeits-Einführung in Python für vielbeschäftigte C ++ - Programmierer
Ich möchte eine Datei mit Python zufällig testen
[Python] So schreiben Sie eine Dokumentzeichenfolge, die PEP8 entspricht