[PYTHON] Ich möchte mit Numpy die japanische Flagge in die Palau-Flagge ändern

Einführung

Um die japanische Flagge in die Palau-Flagge zu ändern, haben wir eine einfache Bildverarbeitung mit numpy durchgeführt.

Was ist die japanische Flagge?

** Japanische Flagge-Wikipedia ** Die japanische Flagge (Nippon no Kokki, Nihon no Kokki) wird gesetzlich als Nisshoki bezeichnet, und seit der Antike in Japan wird sie allgemein als Hinomaru bezeichnet.

--Aspektverhältnis 2: 3

Was ist die Palau Flagge?

** Flagge von Palau-Wikipedia ** Die Flagge der Republik Palau (Beluu er a Belau) ist eine Flagge mit einem gelben Kreis, der etwas näher am Fahnenmast in der Mitte angeordnet ist, und einem hellblauen Hintergrund.

--Aspektverhältnis 5: 8

Code

kokki.py


import cv2
import numpy as np

img = cv2.imread("./test/japan.png ").astype(np.float32)
H, W, C = img.shape

b = img[:, :, 0].copy()
g = img[:, :, 1].copy()
r = img[:, :, 2].copy()

# Gray scale
img = 0.2126 * r + 0.7152 * g + 0.0722 * b
# Binarization
img[img < 100] = 0

H_new = np.ceil((H+W) * 5 / 13).astype(np.int)
W_new = np.ceil((H+W) * 8 / 13).astype(np.int)

_img = np.zeros((H_new, W_new, C), dtype=np.float)
_img[..., 0] = 214
_img[..., 1] = 173
_img[..., 2] = 74

for i in range(H):
	for j in range(W):
		if img[i, j] == 0:
			h = H // 2 - i
			w = W // 2 - j
			_img[H_new//2 - h, W_new//2 - w - H_new//10, 0] = 0
			_img[H_new//2 - h, W_new//2 - w - H_new//10, 1] = 209
			_img[H_new//2 - h, W_new//2 - w - H_new//10, 2] = 255


out = _img.astype(np.uint8)

# Save result
cv2.imshow("result", out)
cv2.waitKey(0)
cv2.imwrite("./test/palau.png ", out)

Erstellen Sie ein Array, in dem die Größe der japanischen Flagge in das Seitenverhältnis der Palau-Flagge konvertiert wird. Fügen Sie danach die Hintergrundfarbe zum leeren Array hinzu. Da der Farbcode # 4AADD6 ist, verwenden Sie den Wert, der durch Konvertieren in BGR erhalten wird. Hier wird ein Kreis von der binärisierten japanischen Flagge unter Verwendung eines Raster-Scans erkannt, und die Koordinaten der Palau-Flagge werden aus den x- und y-Koordinaten erhalten, und BGR wird eingefügt. (Farbcode ist # FFD100)

Ausführungsergebnis

Bild eingeben japan.png

Ausgabebild palau.png

Bonus (Flagge von Bangladesch)

Ich bin allein in Palau einsam, also werde ich es mit der Flagge von Bangladesch versuchen.

kokki2.py


import cv2
import numpy as np

img = cv2.imread("./test/japan.png ").astype(np.float32)
H, W, C = img.shape

b = img[:, :, 0].copy()
g = img[:, :, 1].copy()
r = img[:, :, 2].copy()

# Gray scale
img = 0.2126 * r + 0.7152 * g + 0.0722 * b
# Binarization
img[img < 100] = 0

H_new = np.ceil((H+W) * 3 / 8).astype(np.int)
W_new = np.ceil((H+W) * 5 / 8).astype(np.int)

_img = np.zeros((H_new, W_new, C), dtype=np.float)
_img[..., 0] = 81
_img[..., 1] = 102
_img[..., 2] = 0

for i in range(H):
	for j in range(W):
		if img[i, j] == 0:
			h = H // 2 - i
			w = W // 2 - j
			_img[H_new//2 - h, W_new//2 - w - H_new//10, 0] = 73
			_img[H_new//2 - h, W_new//2 - w - H_new//10, 1] = 6
			_img[H_new//2 - h, W_new//2 - w - H_new//10, 2] = 233


out = _img.astype(np.uint8)

# Save result
cv2.imshow("result", out)
cv2.waitKey(0)
cv2.imwrite("./test/bangladesh.png ", out)

Das Seitenverhältnis für Palau wird auf 3: 5 eingestellt und die Farbe wird geändert.

Ausführungsergebnis bangladesh.png

Zusammenfassung

Palau und Bangladesch sind nicht viel anders ...

Recommended Posts

Ich möchte mit Numpy die japanische Flagge in die Palau-Flagge ändern
Ich möchte mit Python-Datenklasse nach hinten erben
[Python] Ich möchte die Option -h mit argparse verwenden
Ich möchte die Authentizität eines Elements eines numpy-Arrays bestimmen
Ich möchte eine Fehlermeldung auf Japanisch mit dem Django-Passwortänderungsformular ausgeben
Ich möchte ○○ mit Pandas machen
Ich möchte die gültigen Zahlen im Numpy-Array ausrichten
Ich möchte mit Python debuggen
Ich möchte das Wetter mit LINE bot feat.Heroku + Python wissen
Ich möchte den Anfang des nächsten Monats mit Python ausgeben
Vorerst möchte ich jede Datei mit ffmpeg konvertieren !!
Ich möchte die Position meines Gesichts mit OpenCV überprüfen!
Ich möchte Objekte mit OpenCV erkennen
Ich möchte einen Blog mit Jupyter Notebook schreiben
Ich möchte eine Pip-Installation mit PythonAnywhere durchführen
Ich möchte Protokolle mit Python analysieren
Ich möchte mit aws mit Python spielen
Ich möchte den Fortschrittsbalken anzeigen
Ich möchte mit dem Reim part2 umgehen
Ich möchte mit dem Reim part5 umgehen
Ich möchte mit dem Reim part4 umgehen
Ich möchte die Farbe ändern, indem ich auf den Streupunkt in matplotlib klicke
Ich möchte meine Gefühle mit den Texten von Mr. Children ausdrücken
Ich möchte das automatische Löschen des tmp-Bereichs in RHEL7 stoppen
Ich habe versucht, die Daten mit Zwietracht zu speichern
Ich möchte datetime.datetime.now () auch mit pytest verspotten!
Ich möchte 100 Datenwissenschaften mit Colaboratory schlagen
Ich möchte ein Spiel mit Python machen
Ich wollte mit der Bezier-Kurve spielen
Ich möchte OREMO mit setParam sein!
Ich möchte Temporäres Verzeichnis mit Python2 verwenden
Ich möchte -inf nicht mit np.log verwenden
#Unresolved Ich möchte Gobject-Introspection mit Python3 kompilieren
Ich möchte ip vrf mit SONiC verwenden
Ich möchte APG4b mit Python lösen (Kapitel 2)
Ich möchte mit Djangos Migrate von vorne beginnen
Ich möchte das Erscheinungsbild von zabbix anpassen
Ich möchte mit Python in eine Datei schreiben
Ich möchte die Aktivierungsfunktion Mish verwenden
Ich möchte den Fortschritt in Python anzeigen!
Die mit vim bearbeitete Datei war schreibgeschützt, aber ich möchte sie speichern
Als ich versuchte, das Root-Passwort mit ansible zu ändern, konnte ich nicht darauf zugreifen.
Ich möchte ein Element mit numpy in eine Datei schreiben und es überprüfen.
Ich möchte mkl mit numpy und scipy unter pyenv + Poesie verwenden
Ich habe versucht, die Sündenfunktion mit Chainer zu trainieren
Ich möchte ein Bild mit Lollipop in WebP konvertieren
Ich möchte den Dateinamen von DataLoader sehen
Ich möchte mit Jubatus (1) eine nicht autorisierte Anmeldung bei Facebook erkennen.
Ich wollte auch Typhinweise mit numpy überprüfen
Ich möchte mit einem Knopf am Kolben übergehen
Ich möchte das Ausführungsergebnis von strace erfassen
Ich möchte in der Django-Verschiebungstabelle scrollen, aber ...
Ich möchte mit verstärkendem Lernen einen Berg besteigen
Ich habe versucht, eine CSV-Datei mit Python zu berühren
Ich habe versucht, Soma Cube mit Python zu lösen
Ich möchte die Grundlagen von Bokeh vollständig verstehen
Ich möchte mit einem Roboter in Python arbeiten.
Ich möchte eine Zeichenkette mit Hiragana teilen