[PYTHON] Auf der Suche nach dem besten zufälligen Punktstereogramm (RDS).

Im vorherigen Artikel habe ich versucht, mit Python ein ursprüngliches zufälliges Punktstereogramm zu erstellen.

Ich konnte es sicher in drei Dimensionen sehen, aber ich war zufrieden, als ich nur die Kreise und Texte in drei Dimensionen betrachtete. Dieses Mal werde ich etwas etwas cooler machen.

Farbe ändern

Beim letzten Mal wurde das zufällige Punktstereogramm in Graustufen angezeigt. Das ist beängstigend wie ein alter TV-Sandsturm.

Matplotlib hat verschiedene andere Farbkarten als Graustufen, also habe ich sie geändert.

plt.imshow(stereogram, cmap='spring')

1207_1.png Das Gefühl von Sadako verschwand und es wurde ein POP. Gut.

Tiefe

Letztes Mal habe ich eine Tiefenkarte eines dreidimensionalen Musters mit zwei Werten erstellt. Dies ist in vielerlei Hinsicht nicht tief. Indem Sie die Tiefenkarte zu einem kontinuierlichen numerischen Wert machen, können Sie den Grad einstellen, in dem die feste Oberfläche austritt.

Ich habe das folgende Muster als Versuch vorbereitet.

def make_depthmap(shape=(400, 600)):
    depthmap = np.zeros(shape, dtype=np.float)
    cv2.circle(depthmap, (200, 100), 50, (255 ,255, 255), -1)
    cv2.circle(depthmap, (400, 100), 50, (200 ,200, 200), -1)
    cv2.circle(depthmap, (300, 200), 50, (155 ,155, 155), -1)
    cv2.circle(depthmap, (200, 300), 50, (100 ,100, 100), -1)
    cv2.circle(depthmap, (400, 300), 50, (55 ,55, 55), -1)
    return depthmap

1207_2.png

Ein Muster, das in der Reihenfolge Z von oben links dunkler wird. Jetzt erstellen wir ein RDS.

1207_3.png

Es ist wunderbar. Abhängig von der Dunkelheit der Tiefenkarte ändert sich der Grad des Herausspringens. Ich habe auch dieses Muster ausprobiert.

def make_rectangle_depthmap(shape=(400, 600)):
    depthmap = np.zeros(shape, dtype=np.float)
    for i in range(16):
        c = 255 - i * 16
        cv2.rectangle(depthmap, (100+i*25, 100), (125+i*25, 300), (c, c, c), -1)
    return depthmap

1209_1.png

Klicken Sie hier für Ergebnisse

1209_2.png

Es sieht aus wie eine Treppe. Gut.

Ende

Beim nächsten Mal möchte ich eine Tiefenkarte aus Fotos (zweidimensionale Bilder) erstellen, damit normale Fotos in drei Dimensionen angezeigt werden können. Ich möchte eine zufällige Punkt-Stereo-Grammatik sein.

Nachtrag

Ich habe eine Fortsetzung geschrieben.

Recommended Posts

Auf der Suche nach dem besten zufälligen Punktstereogramm (RDS).
Erstellen Sie Ihr eigenes Random Dot Stereogram (RDS) in Python.
Auf der Suche nach dem schnellsten FizzBuzz in Python
Suchen Sie nach dem Wert der Instanz in der Liste
Google sucht mit Python nach der Zeichenfolge in der letzten Zeile der Datei
Die Geschichte der Teilnahme an AtCoder
Die Geschichte des "Lochs" in der Akte
[Python] Untersuchen Sie die Eigenschaften der Titel der Top-Websites in den Google-Suchergebnissen
Der API-Client für die Sitemap in der Google-Suchkonsole befindet sich in Webmastern anstelle der Suchkonsole
[Verständnis in 3 Minuten] Der Beginn von Linux
Überprüfen Sie das Verhalten des Zerstörers in Python
Die Geschichte eines Fehlers in PyOCR
Implementieren Sie einen Teil des Prozesses in C ++
Das Ergebnis der Installation von Python auf Anaconda
Grundlagen zum Ausführen von NoxPlayer in Python
[Lernen stärken] Suche nach der besten Route
Geben Sie die Anzahl der CPU-Kerne in Python aus
Bedeutung von {Versionsnummer} im MySQL-RPM-Paket
[Python] Sortieren Sie die Liste von pathlib.Path in natürlicher Reihenfolge
Ändern Sie die Schriftgröße der Legende in df.plot
Holen Sie sich den Aufrufer einer Funktion in Python
Passen Sie die Verteilung jeder Gruppe in Python an
Zeigen Sie das Ergebnis der Geometrieverarbeitung in Python an
Kopieren Sie die Liste in Python
Finden Sie die Anzahl der Tage in einem Monat
Lesen Sie die Ausgabe von subprocess.Popen in Echtzeit
Finden Sie den Bruchteil des in Python eingegebenen Werts heraus
Die Geschichte, das optimale n in N Faust zu finden
Korrigieren Sie die Argumente der in map verwendeten Funktion
[Bei Coder] Lösen Sie das Problem der Dichotomie
Finden Sie die Lösung der Gleichung n-ter Ordnung mit Python
Die Geschichte des Lesens von HSPICE-Daten in Python
[Hinweis] Über die Rolle des Unterstrichs "_" in Python
Lösen von Bewegungsgleichungen in Python (odeint)
Visualisierte den Nutzungsstatus der Spüle im Unternehmen
Ausgabe in Form eines Python-Arrays
Die Geschichte der Anzeige von Mediendateien in Django
Machen Sie den Fortschritt von dd in der Fortschrittsanzeige sichtbar
Holen Sie sich die Tag-Suchergebnisse von Nico Nico-Videos im XML-Format. (Kein Login erforderlich)
Ich habe die Berechnungszeit von "X in Liste" (lineare Suche / dichotome Suche) und "X in Menge" untersucht.