我有一个尺寸为100 x 7000的整数数据类型的矩阵。我想转置它。我使用opencv库中的transpose()函数。但它给出了错误的结果。大多数值变成浮点数并且非常高,这在原始矩阵中不存在。这里是我的代码opencv函数转置()给出错误的结果,内存泄漏?
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下运行,以捕捉与内存相关的任何错误。 – 2014-10-01 07:01:14