2017-06-16 1 views

Répondre

0

Non OpenCV ne s'attend pas à ce que l'image binaire soit au format d'un ndarray booléen. Comme OpenCV prend en charge uniquement np.uint8, np.float32, np.float64, OpenCV étant davantage une bibliothèque de manipulation d'images, une image avec des valeurs booléennes n'a donc aucun sens lorsque vous pensez aux formats RGB ou Gray.

Le type de données le plus compact pour stocker une matrice binaire est uchar ou dtype=np.uint8. Vous devez donc utiliser ce type de données au lieu de np.bool.

2

Convertissez l'image binaire en type de données 'uint8'.

Essayez ceci:

>>> binary_image.dtype='uint8' 
>>> cv2.imwrite('image.png', binary_image)