У меня есть матрица целочисленного типа данных с размерами 100 x 7000. Я хочу транспонировать его. Я использовал функцию transpose() из библиотеки opencv. но это дает ложные результаты. Большинство значений становятся числами с плавающей запятой и очень высокими, которых нет в исходной матрице. Вот мой кодФункция opencv transpose() дает ложные результаты, утечка памяти?
cv::Mat data; //data matrix with integer values, dimension is 100 x 7000 cv::Mat data_tp = cv::Mat(data.cols, data.rows, CV_32F); cv::transpose(data, data_tp);
Я думаю, что это может быть проблема утечки памяти или любого рода бесхозяйственности памяти. потому что это всего лишь часть большого кода. Любые советы относительно управления памятью или кто-либо еще столкнулся с этой проблемой?
Попробуйте протестировать эту часть кода в изоляции, так как вы можете иметь неверный виновник - это возможно у вас есть какое-то куча развращает ошибку в программе раньше. Также попробуйте запустить под valgrind, чтобы поймать любые ошибки, связанные с памятью. –