2017-09-25 5 views
0

J'essaie d'obtenir une sortie caméra brute avec opencv. Si je lis une image normalement je reçois une image 640x480x3:Que fait la désactivation de `CV_CAP_PROP_CONVERT_RGB`?

>>> import cv2 
>>> cap = cv2.VideoCapture(2) 
>>> _, im = cap.read() 
>>> im.shape 
(480, 640, 3) 

Si je désactive cv2.CAP_PROP_CONVERT_RGB je reçois un tableau étrange taille, la fin de ce qui est toujours zéros:

>>> cap.set(cv2.CAP_PROP_CONVERT_RGB, False) 
True 
>>> _, im = cap.read() 
>>> im.shape 
(1, 614400) 
>>> cv2.imshow('im', im.reshape((960, 640))); cv2.waitKey(0) 

Le résultat « image 'est:

enter image description here

Que dois-je faire avec ces données pour obtenir une image réelle de celui-ci?

Répondre

0

De videoio.hpp:

CAP_PROP_CONVERT_RGB = 16, //! < Drapeaux booléens indiquant si les images doivent être converties en RVB.

Pour votre exemple, vous devez décoder les données 1D.

cv2.imshow('im', cv2.imdecode(im,-1))