web-dev-qa-db-fra.com

Créer une nouvelle image OpenCV RGB avec Python?

Duplicate possible:
la fonction OpenCv CreateImage ne fonctionne pas

Je souhaite créer une nouvelle image RVB dans OpenCV en utilisant Python. Je ne veux pas charger l'image à partir d'un fichier, il suffit de créer une image vide prête à être utilisée.

39
Phil

Le nouveau cv2 interface pour Python intègre les tableaux numpy dans le cadre OpenCV, ce qui simplifie beaucoup les opérations car ils sont représentés par de simples tableaux multidimensionnels. Par exemple, votre question serait: répondu avec:

import cv2  # Not actually necessary if you just want to create an image.
import numpy as np
blank_image = np.zeros((height,width,3), np.uint8)

Cela initialise une image RVB uniquement noire. Maintenant, par exemple, si vous souhaitez définir la moitié gauche de l'image en bleu et la moitié droite en vert, vous pouvez le faire facilement:

blank_image[:,0:width//2] = (255,0,0)      # (B, G, R)
blank_image[:,width//2:width] = (0,255,0)

Si vous voulez éviter beaucoup de problèmes à l'avenir, en plus de devoir poser des questions comme celle-ci, je vous recommande vivement d'utiliser le cv2 interface plutôt que l'ancienne cv. J'ai récemment effectué le changement et je n'ai jamais regretté. Vous pouvez en savoir plus sur cv2 à la OpenCV Change Logs .

140
hjweide