J'essaie de visualiser la sortie d'un système Omnivision. OV7251 caméra en OpenCV 4.2.0 Python 3.5.6. La sortie de la caméra est constituée de données brutes en niveaux de gris de 10 bits, qui, je crois, sont alignées à droite dans des mots de 16 bits.
Quand j'utilise ce code OpenCV :
import cv2
cam2 = cv2.VideoCapture(0)
cam2.set(3, 640) # horizontal pixels
cam2.set(4, 480) # vertical pixels
while True:
b, frame = cam2.read()
if b:
cv2.imshow("Video", frame)
k = cv2.waitKey(5)
if k & 0xFF == 27:
cam2.release()
cv2.destroyAllWindows()
break
Voici l'image que j'obtiens :
On peut supposer que ce qui se passe, c'est qu'OpenCV utilise le mauvais processus pour convertir le brut 10 bits en RVB, croyant qu'il s'agit d'une sorte de YUV ou autre.
Y a-t-il un moyen pour que je puisse soit :
- Indiquer à OpenCV le format de données correct de la caméra pour qu'il effectue la conversion correctement ?
- Obtenir les données brutes de la caméra afin de pouvoir effectuer la conversion manuellement ?