opencv函数transpose()给出错误结果,内存泄漏
opencv function transpose() giving false results, memory leak?
我有一个维度为100 x 7000的整数数据类型矩阵。我想转置它。我使用了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);
我认为这可能是内存泄漏或任何内存管理不善的问题。因为这只是一个大代码的一部分。关于内存管理或其他人面临这个问题,有什么建议吗??
cv::Mat data; //data matrix with integer values, dimension is 100 x 7000
// here are 2 problems:
// - you never need to pre-allocate the result.
// - you try to transpose an int Mat into a float one.
cv::Mat data_tp = cv::Mat(data.cols, data.rows, CV_32F);
cv::transpose(data, data_tp);
// instead, just use:
cv::Mat data_tp = data.t();
相关文章:
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- C++ 随机数生成器:尝试将结果作为向量获取,但通过制作 void 函数来执行此操作而出现错误
- Static_cast转换为错误的数据类型,但结果仍然正确?
- C++ 犰狳库中的sort_index()函数给出了错误的结果
- C++:使用类在向量中搜索特定元素时,我得到了错误的结果
- 检查 n2 是否是 n1 的倍数后结果错误,但根本没有错误
- 为什么我的性能基准给了我错误的结果?
- 使用具有默认参数的函数模板进行 decltype 会使结果混乱(一个有趣的问题或 gcc 的错误)
- 斐波那契检验(C++)的结果错误
- 在发布版本中划分两个双精度的结果错误
- 2D FFT后的图像结果错误
- 计算文本文件中的单个字母并打印结果 - 错误的输出 C++
- C++字符和 int 之间的转换,结果错误
- char*与std字符串的比较结果错误
- 斯波吉购物结果错误
- 超载"+"操作员,结果错误?
- 执行高斯消去程序时结果错误
- hash_djb2 PHP结果错误
- 按位操作比较结果错误
- 使用'if'语句和"<<"时的结果错误,'>>'运算符比较 3 个整数