Remplissez l'arrière-plan d'une seule couleur avec OpenCV2 + Python

Lors de l'initialisation de l'écran avec OpenCV, je voulais colorer l'arrière-plan, mais j'ai eu plus de mal que prévu, j'ai donc pris une note.

Que faire dans cet article

Points avec lesquels lutter

En regardant Traitement de base de cv :: Mat, OpenCV1 utilise une structure appelée IplImage comme données d'image, tandis qu'OpenCV2 utilise cv :: Il a changé pour utiliser une classe appelée Mat.

Dans OpenCV1, il est initialisé par cvCreateImage, mais le problème est de savoir quoi faire avec OpenCV2.

Dans le cas de Python, la structure de séquence de numpy peut être utilisée telle quelle, alors j'ai pensé que ce serait facile une fois que je m'y serais habitué, mais je n'y suis pas habitué, donc je ne sais pas quoi faire avec l'échantillon C d'OpenCV1.

J'ai recherché diverses choses et l'ai essayé

Quand je suis allé sur Internet, il y avait différentes méthodes, alors j'ai essayé de les organiser. À propos, lors de l'affichage d'images avec OpenCV, l'ordre des couleurs est BGR.

example_colorfill.py


# coding: UTF-8
import numpy as np
import cv2


#10 x 10 3 couches(BGR)Définir
size = 10, 10, 3

# cv2.Remplissez le rouge avec fillPoly
red_img = np.zeros(size, dtype=np.uint8)
contours = np.array( [ [0,0], [0,10], [10, 10], [10,0] ] )
cv2.fillPoly(red_img, pts =[contours], color=(0,0,255))

# cv2.Remplissez le bleu avec un rectangle
blue_img = np.zeros(size, dtype=np.uint8)
cv2.rectangle(blue_img,(0,0),(10,10),(255,0,0),cv2.cv.CV_FILLED)

# np.Remplissez le blanc avec le remplissage
white_img = np.zeros(size, dtype=np.uint8)
white_img.fill(255)

# np.Remplissez le vert avec des carreaux
green_img = np.tile(np.uint8([0,255,0]), (10,10,1))

#Remplissez le gris avec une seule gradation 10 x 10
gray_img = np.tile(np.uint8([127]), (10,10,1))

#Remplissez la liste du début à la fin en violet
#référence: http://stackoverflow.com/questions/4337902/how-to-fill-opencv-image-with-one-solid-color
purple_img = np.zeros(size, dtype=np.uint8)
purple_img[:] = (255, 0, 255)

#Convertir la séquence RVB en BGR et remplir en jaune
yellow_img = np.zeros(size, dtype=np.uint8)
rgb_color = (255,255,0);
yellow_img[:] = tuple(reversed(rgb_color))

cv2.namedWindow("yellow image", cv2.WINDOW_AUTOSIZE)
cv2.imshow("yellow image",yellow_img)
cv2.namedWindow("purple image", cv2.WINDOW_AUTOSIZE)
cv2.imshow("purple image",purple_img)
cv2.namedWindow("gray image", cv2.WINDOW_AUTOSIZE)
cv2.imshow("gray image",gray_img)
cv2.namedWindow("green image", cv2.WINDOW_AUTOSIZE)
cv2.imshow("green image",green_img)
cv2.namedWindow("white image", cv2.WINDOW_AUTOSIZE)
cv2.imshow("white image",white_img)
cv2.namedWindow("red image", cv2.WINDOW_AUTOSIZE)
cv2.imshow("red image",red_img)
cv2.namedWindow("blue image", cv2.WINDOW_AUTOSIZE)
cv2.imshow("blue image",blue_img)
cv2.waitKey(0)

Une fois exécutées, les images remplies de chaque couleur seront affichées.

conseillé

Je pense que c'est soit une méthode de remplissage avec 0 d'abord et de remplissage avec une opération couleur par liste, soit une méthode de remplissage avec couleur depuis le début avec np.tile.

Quoi qu'il en soit, il semble qu'il ne soit pas compatible avec C ++.

Recommended Posts

Remplissez l'arrière-plan d'une seule couleur avec OpenCV2 + Python
L'extraction de couleur avec Python + OpenCV a résolu le mystère du fond vert
Rechercher le labyrinthe avec l'algorithme python A *
J'ai essayé de "lisser" l'image avec Python + OpenCV
[Python] Récupérez les fichiers dans le dossier avec Python
J'ai essayé de "différencier" l'image avec Python + OpenCV
Créer une barre de couleurs avec Python + Qt (PySide)
J'ai essayé de "binariser" l'image avec Python + OpenCV
Le moyen le plus simple d'utiliser OpenCV avec python
Binarisation avec OpenCV / Python
[Python] A créé une classe pour jouer des vagues de péché en arrière-plan avec pyaudio
Faire un point d'arrêt sur la couche c avec python
Ecrire des caractères dans l'illustration de la carte avec OpenCV python
Un mémo que j'ai touché au magasin de données avec python
Automatisez la suppression de l'arrière-plan pour les derniers portraits dans un répertoire avec Python et API
[Python] Utilisation d'OpenCV avec Python (basique)
Remplissez la difficulté JOI 4 avec Python
Faites une loterie avec Python
Détection de visage avec Python + OpenCV
Appelez l'API avec python3.
Créer un répertoire avec python
Utiliser OpenCV avec Python @Mac
J'ai remplacé le livre de recettes Windows PowerShell par un script python.
J'ai essayé la "correction gamma" de l'image avec Python + OpenCV
Une note sur l'utilisation de l'API Facebook avec le SDK Python
Un mémo lorsque le visage est détecté avec Python + OpenCV rapidement
Détecter les objets d'une couleur et d'une taille spécifiques avec Python
L'image en échelle de gris est affichée sous forme d'image couleur dans OpenCV / Python
Créez un Twitter BOT avec le SDK GoogleAppEngine pour Python
Créez un outil d'analyse vidéo simple avec python wxpython + openCV
Estimer la posture du marqueur AR avec Python + OpenCV + drone
Briller la vie avec Python et OpenCV
[Python] Qu'est-ce qu'une instruction with?
Résoudre ABC163 A ~ C avec Python
Extraire le fichier xz avec python
Manuel de graphisme Python avec Matplotlib.
[Python] Utilisation d'OpenCV avec Python (filtrage d'image)
Réseau neuronal avec OpenCV 3 et Python 3
Colorez l'intervalle d'intégration avec matplotlib.pyplot
[Introduction à Python] Comment fractionner une chaîne de caractères avec la fonction split
[Python] Utilisation d'OpenCV avec Python (transformation d'image)
Faisons une interface graphique avec python.
[Python] Utilisation d'OpenCV avec Python (détection des bords)
Créez une illusion rayée avec correction gamma pour Python3 et openCV3
Obtenez la météo avec les requêtes Python
Créez un environnement virtuel avec Python!
Obtenez la météo avec les requêtes Python 2
Comment créer une caméra de surveillance (caméra de sécurité) avec Opencv et Python
J'ai fait une loterie avec Python.
[Python] Ajuster la norme de la carte des couleurs
Différence d'arrière-plan, python, mog, gmg, opencv3.1
Trouvez la distance d'édition (distance de Levenshtein) avec python
L'histoire de la création d'un pilote standard pour db avec python.
Créer un environnement virtuel avec Python 3
Programmation facile Python + OpenCV avec Canopy
Trouver les erreurs les plus simples avec OpenCV
Accédez à l'API Etherpad-lite avec Python
Installer le plug-in Python avec Netbeans 8.0.2