OpenCV Ajouter des colonnes d'une matrice
dans OpenCV 2 et, plus tard, il y a la méthode Mat::resize
qui vous permet d'ajouter n'importe quel nombre de lignes avec la valeur par défaut de votre matrice est là toute méthode équivalente pour la colonne. et si non quel est le moyen le plus efficace pour ce faire.
Grâce
J'ai eu un coup d'oeil à la doc en ligne et il semble que vous n'avez pas une fonction pour ajouter des colonnes. opencv.willowgarage.com/documentation/cpp/...
OriginalL'auteur AMCoded | 2012-01-12
Vous devez vous connecter pour publier un commentaire.
Utilisation
cv::hconcat
:Code d'en-tête est ici: github.com/Itseez/opencv/blob/master/modules/core/include/... . Pour être complet, vertical concatination peut être fait avec
vconcat()
et aussicv::Mat::push_back()
Documentation: docs.opencv.org/trunk/d2/de8/group__core__array.html
OriginalL'auteur Boris
Pire des cas: faire pivoter l'image de 90 degrés et l'utilisation
Mat::resize()
, faire des colonnes deviennent des lignes.Comme je l'ai dit, pire des cas. Si je savais le meilleur des cas, je l'ai partagé avec vous.
OriginalL'auteur karlphillip
Depuis OpenCV, magasins d'éléments de lignes de la matrice de manière séquentielle, un après l'autre, il n'existe pas de méthode directe pour augmenter la taille de la colonne, mais j'apporte moi-même, deux solutions pour l'affaire ci-dessus,
D'abord à l'aide de la méthode suivante (de l'ordre de la copie d'éléments est inférieur à d'autres méthodes), vous pouvez également utiliser une méthode similaire si vous voulez insérer des lignes ou des colonnes pas spécifiquement à la fin de matrices.
Et l'autre si vous êtes en insistant sur le fait de ne pas inclure de même de la copie de données de l'ordre dans vos algorithmes, alors il est préférable de créer votre matrice avec le grand nombre de lignes et de colonnes et de commencer l'algorithme le plus petit submatrix puis augmenter votre taille de matrice par
Mat::adjustROI
méthode.OriginalL'auteur AMCoded