C++ OpenCV错误:(-215)u!=函数cv::Mat::create中的0
我正在从事一个项目,该产品基本上是在计算机上全天候运行的。运行的代码主要是用C(它使用)编写的,但是对于它的一些功能,它调用一个带有C++代码的DLL。这个C++代码使用OpenCV作为一个库来执行某些功能。然而,我偶尔会遇到一个错误 程序似乎长时间运行正常,但在长时间(通常在几个小时后)后,它开始失败,并出现以下错误:C++ OpenCV错误:(-215)u!=函数cv::Mat::create中的0,c++,opencv,memory,memory-leaks,C++,Opencv,Memory,Memory Leaks,我正在从事一个项目,该产品基本上是在计算机上全天候运行的。运行的代码主要是用C(它使用)编写的,但是对于它的一些功能,它调用一个带有C++代码的DLL。这个C++代码使用OpenCV作为一个库来执行某些功能。然而,我偶尔会遇到一个错误 程序似乎长时间运行正常,但在长时间(通常在几个小时后)后,它开始失败,并出现以下错误: C:\SW\u libraries\opencv-3.2.0\modules\core\src\matrix.cpp:433:错误:(-215)u!=函数cv::Mat::cr
C:\SW\u libraries\opencv-3.2.0\modules\core\src\matrix.cpp:433:错误:(-215)u!=函数cv::Mat::create中的0
然后程序将继续失败一段时间,但通常在一段时间后将再次恢复正常功能。这一直在重复:运行OK几个小时,然后出错,错误持续一段时间。冲洗并重复
如果我单独运行导致错误的数据,我不会得到任何错误。因此,我怀疑存在一些奇怪的构建或内存问题。但我在这些事情上没有太多经验
我的问题如下:
根据此描述,最有可能导致此错误的问题是什么?
你知道u
指的是什么吗?它的类型是什么?@Bathsheba我不完全确定,它是OpenCV函数内部发生的事情。我找到了。函数从第318行开始。然后每隔一段时间引用一次u
。例如,在第360行中,它表示u=a->allocate(dims、size、\u type、0、step.p、ACCESS\u RW/*ignored*/、USAGE\u DEFAULT);CV_断言(u!=0)代码>奇怪的构建或内存问题?是的,听起来不错,但如果是这样,这可能是一个很难解决的问题。如果你有足够的动力,Valgrind(或)可能会有所帮助。好luck@thb谢谢你的建议。我只是一个新手程序员(我不是内存处理奇怪方式的专家)。我主要做数学分析。然而,我需要找到解决这个问题的办法。我会检查你的建议。@Eff:在这种情况下,我的简化想法成立。我通常会留出几周时间来解决类似的问题。祝你好运