2012-10-14 9 views
19

Mögliche Duplizieren:
OpenCv CreateImage Function isn’t workingErstellen Sie ein neues RGB-OpenCV-Bild mit Python?

Ich möchte ein neues RGB-Bild in OpenCV mit Python erstellen. Ich möchte das Bild nicht aus einer Datei laden, sondern einfach ein leeres Bild erstellen, auf dem Operationen ausgeführt werden können.

+3

Wenn ich die doppelte Flagge in Frage stellen kann, wird eine Frage mit cv beantwortet, und die andere mit cv2. –

+0

Wir brauchen eine Möglichkeit, Fragen zum Stapelüberlauf zusammenzuführen – user391339

Antwort

82

Die neue Schnittstelle für cv2 Python integriert numpy Arrays in die OpenCV Rahmen, der viel einfacher Operationen, wie sie dargestellt werden, mit einfachen mehrdimensionalen Arrays macht. Zum Beispiel würde Ihre Frage beantwortet werden mit:

import cv2 
import numpy as np 
blank_image = np.zeros((height,width,3), np.uint8) 

Dies initialisiert ein RGB-Bild, das nur schwarz ist. Nun, zum Beispiel, wenn Sie die linke Hälfte des Bildes zu blau und die rechte Hälfte auf grün setzen wollten, könnten Sie so leicht tun:

blank_image[:,0:0.5*width] = (255,0,0)  # (B, G, R) 
blank_image[:,0.5*width:width] = (0,255,0) 

Wenn Sie sich selbst sparen eine Menge Ärger in Zukunft wollen , sowie Fragen wie diese zu stellen, würde ich stark empfehlen, die cv2 Schnittstelle anstelle der älteren cv eine zu verwenden. Ich habe die Änderung kürzlich vorgenommen und habe nie zurückgeblickt. Sie können mehr über cv2 bei OpenCV Change Logs lesen.

Verwandte Themen