Eigen :: MatrixXf по-разному ведет себя на Ma c и linux? - PullRequest
1 голос
/ 03 августа 2020

Привет, у меня есть часть программы ниже, и она выдает ошибку в Ma c после того, как я тупо обновляю какую-то нерелевантную программу через brew. Но я не мог понять, почему тот же код, работающий на linux.

Eigen::MatrixXf b_cmp(1,512);
Eigen::MatrixXf e_img(1,512 );
Eigen::MatrixXf e_broad(1,512 );
Eigen::MatrixXf feat(2000000,512 ) ;

cv::cv2eigen(img,e_img); // img is Mat 
feat.row(0) = e_img; //HERE the problem in mac

, дает:

Ошибка утверждения: (rows == this-> rows () && cols == this-> cols () && "DenseBase :: resize () фактически не позволяет изменять размер."), функция resize, файл /Users/tulpar/Projects/eigen/Eigen/src/Core/DenseBase.h, строка 261.

Когда я смотрю из отладчика (Qt) ma c say enter image description here it DenseStorage

but same code in linux :

says 1x512 ColumMajor.

What happened here any idea ?

Best

введите описание изображения здесь

...