Dies ist ein Beispielprogramm, das den transparenten Teil des Bildes weiß malt. Bei der Suche im Internet habe ich einige Möglichkeiten gefunden, Pixel mit einer for-Anweisung zu scannen oder α-Kanäle nach dem Erwerb von RGB zu kombinieren. Ich konnte es in wenigen Zeilen implementieren, ohne eine so komplizierte Verarbeitung durchzuführen, daher werde ich es als Memo für mich im Artikel belassen.
Malen Sie das folgende transparente Bild in Schwarz (da Sie die Änderung nicht sehen können, wenn sie weiß ist).
-*- coding:utf-8 -*-
import cv2
import numpy as np
# Lesen Sie das Eingabebild (lesen Sie auch den α-Kanal, indem Sie -1 angeben).
img = cv2.imread("kangaru.png ", -1)
# Holen Sie sich den Index, bei dem der α-Kanal 0 ist
ex) ([0, 1, 3, 3, ...],[2, 4, 55, 66, ...])
# Es ist ein Taple (Länge 2), in dem Spalte und Zeile gespeichert sind.
index = np.where(img[:, :, 3] == 0)
# Weiß streichen
img[index] = [255, 255, 255, 255]
# Ausgabe
cv2.imwrite("output.png ", img)
Sie könnten leicht den α-Kanal erfassen und den transparenten Teil weiß streichen.
Recommended Posts