Ich bin Sota, ein lokaler Doktorand. Da ich ein Anfänger bin, denke ich, dass es viele Fehler gibt, aber ich würde es begrüßen, wenn Sie mich in den Kommentaren wissen lassen könnten.
Ich implementiere Padding oft in Recherchen und Bytes, aber jedes Mal, wenn ich nachforschte, was mit Pillow und OpenCV zu tun ist, habe ich es fast eine Stunde lang für die Implementierung verwendet, aber wie der Titel schon sagt, kann es mit opencv in einer Zeile implementiert werden. Ich verstehe es, also werde ich es als Memorandum belassen.
cv2.copyMakeBorder()
Verwenden Sie insbesondere "cv2.copyMakeBorder ()". Wie benutzt man
output = cv2.copyMakeBorder(src, top, bottom, left, right, borderType, value)
ist.
--src
ist das Eingabebild
borderType
ist ein Flag, das den Typ der hinzuzufügenden Grenze angibt. Wenn Sie eine sogenannte Auffüllung wünschen, wählen Sie cv2.BORDER_CONSTANT
.cv2.BORDER_REFLECT, cv2.BORDER_DEFAULT, cv2.BORDER_REPLICATE, cv2.BORDER_WRAP
, aber sie unterscheiden sich ein wenig vom Auffüllen. Lesen Sie daher bitte die offizielle Dokumentation.
http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_core/py_basic_ops/py_basic_ops.html
--value
gibt die Farbe des gepolsterten Bereichs an. (0,0,0)
ist schwarz, (255,255,255)
ist weiß und so weiter.
import cv2
img = cv2.imread('./fig.png')
img_pad = cv2.copyMakeBorder(img, 50, 50, 50, 50, cv2.BORDER_CONSTANT, (0,0,0))
cv2.imwrite('./fig_pad.png', img_pad)
Ich polstere sicher. Es war überraschend einfach, wenn man bedenkt, wie viel Zeit und Mühe es kostet, ein schwarzes Bild zu erstellen und es einzufügen, während man jedes Mal mit Scheiben über den Ort nachdenkt. Ich werde diesen Weg von nun an in opencv auffüllen.
Recommended Posts