Je suis sota, un étudiant diplômé local. Comme je suis débutant, je pense qu'il y a beaucoup d'erreurs, mais j'apprécierais que vous me le fassiez savoir dans les commentaires.
J'implémente souvent le remplissage dans la recherche et les octets, mais chaque fois que je recherchais quoi faire avec oreiller et opencv, je l'ai utilisé pour l'implémentation pendant près d'une heure, mais comme le titre l'indique, il peut être implémenté en une seule ligne avec opencv. Je le comprends, alors je vais le laisser sous forme de mémorandum.
cv2.copyMakeBorder()
Plus précisément, utilisez cv2.copyMakeBorder ()
.
Comment utiliser
output = cv2.copyMakeBorder(src, top, bottom, left, right, borderType, value)
est.
--src
est l'image d'entrée
haut, bas, gauche, droite
sont le nombre de pixels ajoutés en haut, en bas, à gauche et à droite de l'image.
-- borderType
est un indicateur pour spécifier le type de limite à ajouter. Si vous voulez ce que l'on appelle un remplissage, sélectionnez cv2.BORDER_CONSTANT
.
--Il existe également cv2.BORDER_REFLECT, cv2.BORDER_DEFAULT, cv2.BORDER_REPLICATE, cv2.BORDER_WRAP
, mais ils sont un peu différents du padding, veuillez donc vous référer à la documentation officielle.
http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_core/py_basic_ops/py_basic_ops.html
--valeur
spécifie la couleur de la zone remplie. (0,0,0)
est noir, (255,255,255)
est blanc, et ainsi de suite.
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)
Je rembourre en toute sécurité. C'était étonnamment facile compte tenu du temps et des efforts nécessaires pour créer une image noire et la coller tout en pensant à l'emplacement avec des tranches à chaque fois. Je vais tamponner de cette façon en opencv à partir de maintenant.
Recommended Posts