Ich habe Probleme, ein Rechteck auf einem Bild mit OpenCV zu zeichnen und dann das Bild mit Matplotlib anzuzeigen. Dieser Code in einem Jupyter Notebook Ergebnissen in einem schwarzen Bild angezeigt wird, ohne grünes Rechteck:plt.imshow() zeigt keine numpy Matrix korrekt an
import numpy as np
import cv2
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
%matplotlib inline
image = np.zeros((720, 1280, 3))
cv2.rectangle(image, (100,100), (200,200), color=(0,255,0), thickness=2) # Green
plt.imshow(image)
Ich glaube, ich das Rechteck sehen kann, wenn ich das Bild mit cv2.imshow()
anzuzeigen, aber ich weiß nicht, dass OpenCV Bilder Inline können in Jupyter Notebooks wie Matplotlib Bilder angezeigt werden.
EDIT: Ich denke, was wirklich los ist aus the documentation in diesem Auszug erklärt:
Der Wert für jede Komponente der MxNx3 und MxNx4 float Arrays im Bereich 0,0 bis 1,0 liegt.
Es kann Werte zwischen 0 und 255 verarbeiten, wenn es sich um ein Integer-Array handelt.
Danke. Übrigens unterlasse ich 'plt.show()', weil ich in einem Jupyter Notebook bin und das Bild erscheint, ohne diese Funktion aufzurufen. Außerhalb eines Jupyter Notebooks benötige ich diesen Funktionsaufruf. – royco
Oh, dann ist es in Ordnung :) – ZdaR