[PYTHON] Machen Sie einen Mario mit Numpy und OpenCV

Von der Seite arbeiten! Datenrahmen, der wütend wird

Aber es hat einen Zweck. OpenCV verwendet Numpys ndarray-Array, um die Daten zu verarbeiten.

Das heißt, Sie können es nicht reproduzieren, indem Sie ein eindimensionales Array für Grau und ein dreidimensionales Array für Farbe werfen! Ich habe eine Metamorphose-Herausforderung durchgeführt, bei der die Manieren und Regeln völlig ignoriert und jedes Mal gebrochen wurden. Dieses Mal wurde die Arbeit erfolgreich abgeschlossen Ich werde einen Code hochladen, der für die Welt keinen Nutzen hat.

Ich habe einen Onkel Pfeifenarbeiter in einer 12x12 Anordnung gezeichnet.

mario.py



import cv2
import numpy as np

val = 0
#Erstellen Sie eine leere Liste(12*12 für alle Elemente 0)
rchannel = [[val] * 12 for i in range(12)]
rchannel = np.array(rchannel)
gchannel = [[val] * 12 for i in range(12)]
gchannel = np.array(gchannel)
bchannel = [[val] * 12 for i in range(12)]
bchannel = np.array(bchannel)

#Die handgemachte Zone der Hölle
rchannel[3,3:8] = 255
rchannel[4,2:11] = 255
rchannel[5,2:5] = 146
gchannel[5,2:5] = 41
bchannel[5,2:5] = 6
rchannel[5,5:7] = 248
gchannel[5,5:7] = 178
bchannel[5,5:7] = 108
rchannel[5,7] = 146
gchannel[5,7] = 41
bchannel[5,7] = 6
rchannel[5,8] = 248
gchannel[5,8] = 178
bchannel[5,8] = 108
rchannel[6,1] = 146
gchannel[6,1] = 41
bchannel[6,1] = 6
rchannel[6,2] = 248
gchannel[6,2] = 178
bchannel[6,2] = 108
rchannel[6,3] = 146
gchannel[6,3] = 41
bchannel[6,3] = 6
rchannel[6,4:7] = 248
gchannel[6,4:7] = 178
bchannel[6,4:7] = 108
rchannel[6,7] = 146
gchannel[6,7] = 41
bchannel[6,7] = 6
rchannel[6,8:11] = 248
gchannel[6,8:11] = 178
bchannel[6,8:11] = 108
rchannel[7,1] = 146
gchannel[7,1] = 41
bchannel[7,1] = 6
rchannel[7,2] = 248
gchannel[7,2] = 178
bchannel[7,2] = 108
rchannel[7,3:5] = 146
gchannel[7,3:5] = 41
bchannel[7,3:5] = 6
rchannel[7,5:8] = 248
gchannel[7,5:8] = 178
bchannel[7,5:8] = 108
rchannel[7,8] = 146
gchannel[7,8] = 41
bchannel[7,8] = 6
rchannel[7,9:11] = 248
gchannel[7,9:11] = 178
bchannel[7,9:11] = 108
rchannel[7,11] = 146
gchannel[7,11] = 41
bchannel[7,11] = 6
rchannel[8,1:3] = 146
gchannel[8,1:3] = 41
bchannel[8,1:3] = 6
rchannel[8,3:7] = 248
gchannel[8,3:7] = 178
bchannel[8,3:7] = 108
rchannel[8,7:11] = 146
gchannel[8,7:11] = 41
bchannel[8,7:11] = 6
rchannel[9,3:10] = 248
gchannel[9,3:10] = 178
bchannel[9,3:10] = 108
rchannel[10,2:4] = 255
bchannel[10,4] = 255
rchannel[10,5:9] = 255
rchannel[11,1:4] = 255
bchannel[11,4] = 255
rchannel[11,5:11] = 255

#Kanäle kombinieren
data_map = np.stack((bchannel,gchannel,rchannel),-1)
#Datentyp ändern → Jetzt kann es von OpenCV verarbeitet werden
data_map = np.array(data_map, dtype="uint8")
#Vergrößert für einfache Visualisierung
data_map = cv2.resize(data_map, (400, 400),interpolation=cv2.INTER_NEAREST)

#Anzeige
cv2.imshow("show",data_map)
cv2.waitKey(0)
cv2.destroyAllWindows()

キャプチャ.JPG

Mai 2020 ist ein gutes Jahr.

Recommended Posts

Machen Sie einen Mario mit Numpy und OpenCV
Erstellen Sie mit OpenCV und TensorFlow einen Sato Yohei-Diskriminator
Schätzung der Kopforientierung mit Python und OpenCV + dlib
Verbinden Sie mit OpenCV mehrere Videos auf einmal!
Ich habe versucht, Objekte mit Python und OpenCV zu erkennen
Liste und Numpy
Erstellen Sie Dummy-Daten mit den NumPy- und Faker-Paketen von Python
Lassen Sie Python in einer Zeile segfo, ohne ctypes zu verwenden
Python- und Numpy-Tipps
RaspberryPi Zero und OpenCV
Versuchen Sie es mit GUI, PyQt in Python
Nehmen Sie Zeitraffer von einer PC-Kamera mit Python, OpenCV auf
[Python] Zugreifen auf und Zuschneiden von Bildpixeln mit OpenCV (für Anfänger)