Erzeugung von Verlaufsbildern mit Python [1] | np.linspace

Einführung

Dieses Mal werde ich ein Verlaufsbild mit Python erstellen, indem ich auf [diesen Artikel] verweise (https://note.nkmk.me/python-numpy-generate-gradation-image/).

Erzeugung von Verlaufsbildern

Dieses Mal werden wir ein Bild mit zwei Funktionen erzeugen.

gradation_2d_color


def gradation_2d_color(start, stop, size, is_horizontal):
    if is_horizontal:
        return np.tile(np.linspace(start, stop, size[1]), (size[0], 1))
    else:
        return np.tile(np.linspace(start, stop, size[0]), (size[1], 1)).T

Erstellen Sie mit np.linspace ein eindimensionales Array mit Längenhöhe (oder Breite), in dem die Werte der Gleichheitsnummernfolge gespeichert werden, die durch Teilen des Bereichs von Anfang bis Ende durch die Anzahl der Höhe (oder Breite) erhalten wird, und erstellen Sie diese mit np.tile. Erstellt ein zweidimensionales Array mit der Länge, Breite (oder Höhe), das dupliziert und anhand der Anzahl der Breite (oder Höhe) gespeichert wird. ・ Start: Start des Pixelwerts ・ Stopp: Pixelwert beenden ・ Größe: Bildgröße [Höhe, Breite] ・ Is_horizontal: Richtig → Horizontale Gradationsänderung / Falsch → Vertikale Gradationsänderung

gradation_3d_img


def gradation_3d_img(start_list, stop_list, size, is_horizontal_list):
    result = np.zeros((size[0], size[1], len(start_list)), dtype=np.float)

    for i, (start, stop, is_horizontal) in enumerate(zip(start_list, stop_list, is_horizontal_list)):
        result[:, :, i] = gradation_2d_color(start, stop, size, is_horizontal)

    return result

Übergeben Sie die Liste für jeden RGB. Das erste Element ist die r-Komponente, das zweite Element ist die g-Komponente und das dritte Element ist die b-Komponente. -Start_list: Liste der Startpixelwerte -Stop_list: Liste der Endpixelwerte ・ Größe: Liste der Bildgrößen ・ Is_horizontal_list: Liste der Änderungsrichtungen

Verwenden Sie diese Funktionen, um ein Verlaufsbild zu erstellen.

main


    size = [400,500] #height, width
    #Horizontal schwarz → weiß
    img = gradation_3d_img([0,0,0], [255,255,255], size, [True,True,True])

    img = img.astype(np.uint8)
    img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)
    cv2.imwrite('out.png', img)

Ausgabebild

Ich habe andere Parameter mit verschiedenen Werten ausprobiert, wobei die Bildgröße auf (400.500) eingestellt war.

Die Farbe ändert sich kontinuierlich von "rgb (0,0,0)" zu "rgb (255,255,255)" in horizontaler Richtung. Die Farbe ändert sich kontinuierlich von "rgb (0,0,0)" zu "rgb (255,255,255)" in vertikaler Richtung. Die Farbe ändert sich kontinuierlich von "rgb (0,255,255)" zu "rgb (255,255,255)" in vertikaler Richtung. Die Farbe ändert sich kontinuierlich von "rgb (255,0,0)" zu "rgb (0,255,255)" in horizontaler Richtung. Wenn die Änderungsrichtung von r auf die vertikale Richtung ↓ eingestellt ist, ändert sie sich jetzt in diagonaler Richtung. Insbesondere ändert sich die Farbe von "rgb (0,0,0)" zu "rgb (255,255,255)" in der diagonal unteren rechten Richtung und "rgb (255,0,0)" in der diagonalen oberen rechten Richtung. Die Farbe ändert sich von "rgb (0,255,255)". Als nächstes, wenn die Änderungsrichtung von r und g auf die vertikale Richtung ↓ eingestellt ist Die Farbe ändert sich von "rgb (255,255,0)" zu "rgb (0,0,255)" in diagonal nach oben gerichteter Richtung.

Zukünftige Aufgaben

Diese Abstufung wird mit np.linspace ausgedrückt, das eine Gleichheitssequenz erzeugt. Ich denke, dass Sie die Abstufung in dem Sinne ausdrücken können, dass sich der numerische Wert kontinuierlich ändert. Es hat sich jedoch eine andere Frage ergeben, dass die Gradationsänderung numerisch ausgedrückt werden kann. Nächstes Mal werde ich darüber schreiben.

Recommended Posts

Erzeugung von Verlaufsbildern mit Python [1] | np.linspace
Bildverarbeitung mit Python
[Kleine Geschichte] Testen Sie die Bilderzeugung mit Python / OpenCV
Bildverarbeitung mit Python (Teil 2)
Bildbearbeitung mit Python OpenCV
Sortieren von Bilddateien mit Python (2)
Sortieren von Bilddateien mit Python (3)
Bildverarbeitung mit Python (Teil 1)
Tweet mit Bild in Python
Bilddateien mit Python sortieren
Bildverarbeitung mit Python (3)
Bildunterschriftengenerierung mit Chainer
[Python] Bildverarbeitung mit Scicit-Image
JPEG-Bilderzeugung durch Angabe der Qualität mit Python + OpenCV
Schneiden Sie ein Bild mit Python aus
[Python] Verwenden von OpenCV mit Python (Bildfilterung)
[Python] Verwenden von OpenCV mit Python (Bildtransformation)
Die Bildverarbeitung mit Python 100 klopft an die Binärisierung Nr. 3
Lassen Sie uns mit Python Image Scraping durchführen
Passwort für Lehrbuch mit Python generieren
CSRF-Token-Generierung für Gegenmaßnahmen mit Python
Finden Sie Bildähnlichkeit mit Python + OpenCV
100 Bildverarbeitung mit Python Knock # 2 Graustufen
Sende Bild mit Python und speichere mit PHP
Grundlagen der binärisierten Bildverarbeitung durch Python
Bildverarbeitung mit Python 100 Knock # 10 Medianfilter
HTML-Mail mit Bild zum Senden mit Python
Erstellen Sie mit Python + PIL ein Dummy-Image.
100 Bildverarbeitung mit Python Knock # 8 Max Pooling
Einführung in das Auffüllen von Python-Bildern Auffüllen von Bildern mit ImageDataGenerator
Bildverarbeitung mit Python & OpenCV [Tonkurve]
Bildverarbeitung mit Python 100 Knock # 12 Bewegungsfilter
Bildaufnahme von der Kamera mit Python + OpenCV
Zeichnen mit Matrix-Reinventor von Python Image Processing-
Probieren Sie ganz einfach die automatische Bilderzeugung mit DCGAN-Tensorfluss aus
Verarbeiten Sie Bilder in Python ganz einfach mit Pillow
Die Bildverarbeitung mit Python 100 führt zu einem durchschnittlichen Pooling von # 7
Leichte Bildverarbeitung mit Python x OpenCV
Bildverarbeitung mit Python 100 Knock # 9 Gauß-Filter
Beispiel für die Wavelet-Konvertierung von Bildern in Python
FizzBuzz in Python3
Scraping mit Python
Python-Bildverarbeitung
Statistik mit Python
Scraping mit Python
Twilio mit Python
In Python integrieren
Spielen Sie mit 2016-Python
AES256 mit Python
Python beginnt mit ()
Bingo mit Python
Zundokokiyoshi mit Python
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
Ich habe versucht, das Bild mit Python + OpenCV zu "glätten"
Konvertieren Sie PDF in Bilder (JPEG / PNG) mit Python
Ich habe versucht, das Bild mit Python + OpenCV zu "differenzieren"
Erstellen eines Hintergrundbilds mit Tupfen mit der Python-Bildbibliothek
Bildverarbeitung von Grund auf mit Python (5) Fourier-Transformation