web-dev-qa-db-fra.com

Erreur OpenCV: (-215: Échec de l'assertion) VScn :: contient (scn) && VDcn :: contient (dcn) && VDepth :: contient (profondeur) dans la fonction 'CvtHelper'

Traceback (most recent call last):
File "demo.py", line 132, in 
     `result = find_strawberry(image)`
File "demo.py", line 63, in find_strawberry
`image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)`
cv2.error: OpenCV(3.4.2) /Users/travis/build/skvark/opencv-python/opencv/modules/imgproc/src/color.hpp:253: error: (-215:Assertion failed) VScn::contains(scn) && VDcn::contains(dcn) && VDepth::contains(depth) in function 'CvtHelper'

Personnellement, j'ai passé beaucoup de temps sur cette question, donc jugé pertinent de la publier sur Stackoverflow.

Question tirée de: llSourcell/Object_Detection_demo_LIVE

5
TheSHETTY-Paradise

obtenir la même erreur lors de l'utilisation de la barre de suivi dans opencv mais cette méthode l'a résolu:

img = np.full((512,512,3), 12, np.uint8)

img est votre image

0
Dhurub Saxena

Eh bien, je faisais la géométrie épipolaire (trouvez le lien ci-dessous) et j'ai eu ce problème. J'ai résolu cette erreur en utilisant l'une des deux méthodes:

Première méthode - conserver les couleurs d'origine: A. Je charge l'image avec sa couleur d'origine (dans mon cas c'était RVB) en supprimant le paramètre zéro de cv2.imread.

img1 = cv2.imread('image.jpg') 

B. Vous devrez peut-être modifier la forme de l'image car elle est RVB

r, c,_ = img1.shape 

C. Commentez la conversion

# img1 = cv2.cvtColor(img1,cv2.COLOR_GRAY2BGR)

La deuxième méthode - conversion en image en niveaux de gris: A. Je charge l'image dans BGR en ajoutant le paramètre zéro dans cv2.imread.

img1 = cv2.imread('image.jpg',0) 

B. Vous devrez peut-être modifier la forme de l'image car elle est BGR

r, c = img1.shape 

C. Maintenant, vous pouvez convertir l'image en image en niveaux de gris

img1 = cv2.cvtColor(img1,cv2.COLOR_GRAY2BGR)

Si les deux méthodes ne fonctionnent pas pour vous, vous devrez peut-être vérifier les liens ci-dessous, elles pourraient avoir répondu à votre question:

https://github.com/aleju/imgaug/issues/157https://github.com/llSourcell/Object_Detection_demo_LIVE/issues/6

Géométrie épipolaire

https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_calib3d/py_epipolar_geometry/py_epipolar_geometry.html

0
Ahmadiah

Juste au cas où quelqu'un aurait toujours la même erreur même après avoir appliqué le correctif ci-dessus, vérifiez la profondeur de votre image, c'est-à-dire vérifiez si l'image est grayscale ou colored depuis cv2.COLOR_BGR2GRAY ne peut pas convertir les images qui sont déjà grayscale et génère ainsi cette erreur.

0
Rabbani