¿Cuál es la forma más elegante y eficiente para convertir una anidada std::vector
de std::vector
s a cv::Mat
? La estructura anidada contiene una matriz, es decir, todas las std::vector
internas tienen el mismo tamaño y representan las filas de la matriz. No me importa que los datos se copien de uno a otro.Convierte un std :: vector <std :: vector <double>> representa una matriz 2D a cv :: Mat
sé que una sola, no anidada std::vector
es muy fácil, hay un constructor:
std::vector <double> myvec;
cv::Mat mymat;
// fill myvec
bool copy = true;
myMat = cv::Mat(myvec, copy);
¿Qué pasa con el vector anidada?
Definir "elegante y eficiente". –
¿Qué se supone que representa el vector-vector? ¿Es un vector de filas, columnas o algo más de la matriz? –
Es un vector de filas de matriz, lo edité en. @John Dibling "elegante y eficiente" - No quiero un fragmento de código de 3 millas de largo, y no quiero hacer copias en exceso del datos. – penelope