2015-12-04 2 views
1

Dans les images OpenCV HSV, l'échelle de Teinte dépend du type d'image. De this answer,Dans une application utilisant OpenCV4Android, comment savoir si la caméra prend une image 8 bits ou une image 32 bits?

Pour les images HSV cela dépend du type d'image (voir OpenCV doc):

images 8 bits: H dans [0, 180], S, V dans [0, 255]

images 32 bits: H dans [0, 360], S, V [0,1]

J'ai deux questions:

  1. Comment savoir quel type d'image ou de trame (8 bits ou 32 bits) la caméra détecte-t-elle? Comment est-ce que je devrais savoir dans this class dans l'application d'échantillon de détection de couleur de blob? Existe-t-il un moyen de forcer la caméra à prendre l'image 32 bits (parce que je veux vraiment la deuxième échelle, et si ce n'est pas le cas, je vais devoir trouver un moyen de convertir la première échelle à la seconde , parce que Android's Color.HSVToColor method suit la deuxième échelle)?

Répondre

1

1) Il utilise CvType.CV_8U ce qui signifie non signé de 8 bits.

2) Probablement pas, vous devez plonger dans la partie du code qui contrôle réellement la caméra et attrape un cadre pour le découvrir. Cependant, vous pouvez simplement convertir une image 8 bits en 32 bits en utilisant les fonctions convertTo.