[Lass uns mit Python spielen] Bildverarbeitung zu Monochrom und Punkten

Einführung

Ich wollte das Image meines SNS-Kontos bald ändern, also habe ich es mit Python gemacht. Lass den Code. Der Inhalt sind die folgenden drei

--Bild laden

Wird sein. Es gibt nicht viel Aufmerksamkeit, aber die Punktkonvertierung wird einige Zeit dauern. (Ca. 1 Minute? Abhängig von den technischen Daten des PCs)

Vorbereitung

Bitte beachten Sie die folgenden Punkte, wenn Sie selbst ausführen.

Bild laden

Bereiten Sie das Bild vor und laden Sie es. Ich mache es auf dem Jupiter Notebook. Bereiten Sie in diesem Fall ein Bild vor und laden Sie es vorab auf Notebook hoch.

import numpy as np
import matplotlib.pyplot as plt
import cv2

#Bilder laden
img = plt.imread('shiro.jpg') 
type(img) 
img.size
plt.imshow(img) #Bildschirm
plt.show()

Dies ist das Originalbild. 2020-02-24 (2).png

Monochrome Verarbeitung und Ausgabe

Als nächstes wird eine Schwarzweißverarbeitung (Schwarzweißverarbeitung) durchgeführt und ausgegeben.

def img_show(img : np.ndarray, cmap = 'gray', vmin = 0, vmax = 255, interpolation = 'none') -> None: 
    plt.imshow(img, cmap = cmap, vmin = vmin, vmax = vmax, interpolation = interpolation) #Bild anzeigen
    plt.show()
    plt.close()
    img = plt.imread('shiro.jpg')

img_mid_v = np.max(img, axis = 2)/2 +np.min(img, axis = 2)/2
img_show(img_mid_v)
img = plt.imread('shiro.jpg')

2020-02-24.png

Punkt

Punkte machen. Es kann interessant sein, mit der Zahl "dst = pixel_art (img, 0.1, 4)" zu spielen, wie Sie möchten. Bei der Ausführung wird eine Datei wie'shiro_mozaiku.jpg 'an Jupiter Notebook ausgegeben.

#Farbreduktionsverarbeitung
def sub_color(src, K):   
    Z = src.reshape((-1,3))
    Z = np.float32(Z)
    criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 10, 1.0)
    ret, label, center = cv2.kmeans(Z, K, None, criteria, 10, cv2.KMEANS_RANDOM_CENTERS)
    center = np.uint8(center)
    res = center[label.flatten()]
    return res.reshape((src.shape))

#Mosaikverarbeitung
def mosaic(img, alpha):
    h, w, ch = img.shape
    img = cv2.resize(img,(int(w*alpha), int(h*alpha)))
    img = cv2.resize(img,(w, h), interpolation=cv2.INTER_NEAREST)
    return img

#Punktmalerei
def pixel_art(img, alpha=2, K=4):
    img = mosaic(img, alpha)
    return sub_color(img, K)
#Eingabebild abrufen
img = cv2.imread("shiro.jpg ") 

#Punktpiktogramm Bildrauheit,Farbrauheit
dst = pixel_art(img, 0.1, 4)
    
#Ausgabeergebnis
cv2.imwrite("shiro_mozaiku.jpg ", dst)

from PIL import Image
mozaiku_shiro = Image.open('shiro_mozaiku.jpg')
mozaiku_shiro

2020-02-24 (1).png

Plaudern

Es fühlt sich an, als hätte ich etwas ziemlich Gutes gemacht. Dies ist ein Bild von meiner Reise, aber es scheint, dass Gebäude wie Burgen in Mosaikpunkte umgewandelt werden können. Abgesehen davon weiß ich nicht, was mit Menschen und Landschaften passieren wird, aber es kann interessant sein, es zu versuchen.

Recommended Posts

[Lass uns mit Python spielen] Bildverarbeitung zu Monochrom und Punkten
Fraktal zum Erstellen und Spielen mit Python
Bildverarbeitung mit Python
Bildverarbeitung mit Python (Teil 2)
Bildverarbeitung mit Python (Teil 1)
Bildverarbeitung mit Python (3)
[Python] Bildverarbeitung mit Scicit-Image
Hinweise zur HDR- und RAW-Bildverarbeitung mit Python
Die Bildverarbeitung mit Python 100 klopft an die Binärisierung Nr. 3
Lass uns mit Python mit Python spielen [Anfänger]
Lassen Sie uns mit Python Image Scraping durchführen
100 Bildverarbeitung mit Python Knock # 2 Graustufen
Grundlagen der binärisierten Bildverarbeitung durch Python
[Einführung in WordCloud] Spielen Sie mit Scraping ♬
HTML-Mail mit Bild zum Senden mit Python
100 Bildverarbeitung mit Python Knock # 8 Max Pooling
Einführung in das Auffüllen von Python-Bildern Auffüllen von Bildern mit ImageDataGenerator
[Einführung in Python] Verwenden wir foreach mit Python
Bildverarbeitung mit Python & OpenCV [Tonkurve]
Bildverarbeitung mit Python 100 Knock # 12 Bewegungsfilter
Ich möchte mit aws mit Python spielen
Zeichnen mit Matrix-Reinventor von Python Image Processing-
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
Spielen Sie mit 2016-Python
Lassen Sie uns ein Bilderkennungsmodell mit Ihren eigenen Daten erstellen und spielen!
Python-Handspiel (Beginnen wir mit AtCoder?)
Kratzen Sie das Essen mit Python und geben Sie es an CSV aus
[REAPER] Wie man Reascript mit Python spielt
Konvertieren Sie PDF in Bilder (JPEG / PNG) mit Python
Bildtext und Post to Slack (Python Slackbot)
Bildverarbeitung von Grund auf mit Python (5) Fourier-Transformation
So beschneiden Sie ein Bild mit Python + OpenCV
Bildverarbeitung von Grund auf mit Python (4) Konturextraktion
Bildverarbeitung mit Python Environment Setup für Windows
Lassen Sie uns EV3-Motoren und -Sensoren mit Python steuern
Lassen Sie uns mit Python Receive spielen und den Text des Eingabeformulars speichern / anzeigen
Bildverarbeitung mit MyHDL
Erste Python-Bildverarbeitung
Bildverarbeitung mit PIL
Prozedur zum Laden von MNIST mit Python und zur Ausgabe an png
So kratzen Sie Bilddaten von Flickr mit Python
Ich möchte die Optimierung mit Python und CPlex behandeln
[Lass uns mit Python spielen] Ein Haushaltsbuch erstellen
Probieren Sie die DB-Operation mit Python aus und visualisieren Sie sie mit d3
[Kapitel 5] Einführung in Python mit 100 Klopfen Sprachverarbeitung
Einführung in die verteilte Parallelverarbeitung von Python durch Ray
Versuchen Sie, ein einfaches Spiel mit Python 3 und iPhone zu erstellen
Konvertieren Sie das Bild in .zip mit Python in PDF
[Kapitel 3] Einführung in Python mit 100 Klopfen Sprachverarbeitung
Spielen wir mit JNetHack 3.6.2, das einfacher zu kompilieren ist!
So schleifen und spielen Sie ein GIF-Video mit openCV ab
[Kapitel 2] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Piyopiyokai # 1] Spielen wir mit Lambda: Erstellen eines Python-Skripts
[How to!] Lerne und spiele Super Mario mit Tensorflow !!
[Python] Weg zur Schlange (5) Spiele mit Matplotlib