Эффективно скопируйте Matrix (например, opencv cv :: Mat, realsense rs2 :: frame) в Eigen :: Matrix - PullRequest
0 голосов
/ 23 марта 2020

Я работаю над преобразованием данных из opencv cv :: Mat или realsense rs2 :: frame в Eigen :: Matrix. Есть ли эффективный способ сделать это преобразование? Например:

//For opencv Mat:
cv::Mat cvMat = cv::Mat::zeros(100, 100, CV_8UC1);
unsigned char* cv_data = cvMat.data();

Eigen::Matrix<unsigned char, 100, 100> eigenMat;
unsigned char* eigen_data = eigenMat.data();

//use memcpy
memcpy(eigen_data, cv_data, 100*100*sizeof(unsigned char));

Однако Eigen::Matrix имеет выравнивание памяти. Правильно ли использовать memcpy напрямую? Или я должен использовать for l oop, чтобы присвоить каждому элементу cvMat значение eigenMat?

Спасибо!

...