Je sais que cela peut être très rudimentaire, mais je suis nouveau sur OpenCV. Pourriez-vous s'il vous plaît me dire comment obtenir la taille d'une matrice dans OpenCV ?. J'ai cherché sur Google et je suis toujours à la recherche, mais si l'un d'entre vous connaît la réponse, aidez-moi s'il vous plaît.
Taille en nombre de lignes et de colonnes.
Et existe-t-il un moyen d'obtenir directement la valeur maximale d'une matrice 2D?
opencv
opencv-mat
Lakshmi Narayanan
la source
la source
Notez qu'en dehors des lignes et des colonnes, il existe un certain nombre de canaux et de types. Quand le type est clair, les canaux peuvent agir comme une dimension supplémentaire comme dans CV_8UC3, donc vous adresseriez une matrice comme
Donc la taille en termes d'éléments de type élémentaire est M.rows * M.cols * M.cn
Pour trouver l'élément maximum, on peut utiliser
la source
Pour la matrice 2D:
mat.rows - Nombre de lignes dans un tableau 2D.
mat.cols - Nombre de colonnes dans un tableau 2D.
Ou: C ++: Size Mat :: size () const
La méthode renvoie une taille de matrice: Size (cols, rows). Lorsque la matrice est supérieure à 2 dimensions, la taille renvoyée est (-1, -1).
Pour une matrice multidimensionnelle, vous devez utiliser
Notez, ici 2 pour l'axe z, 3 pour l'axe y, 4 pour l'axe x. Par x, y, z, cela signifie l'ordre des dimensions. x index change le plus rapidement.
la source
Mat::size()
méthode membre, mais plutôt uneMat::size
variable membre de typeMatSize
. Ce dernier surcharge l'opérateur parenthèsesMatSize::operator()
pour renvoyer unSize
objetUn exemple de code C ++ complet peut être utile pour les débutants
la source
Si vous utilisez les wrappers Python, alors (en supposant que votre nom de matrice est mat ):
mat.shape vous donne un tableau du type- [hauteur, largeur, canaux]
mat.size vous donne la taille du tableau
Exemple de code:
la source