Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
声明二维动态数组并从向量填充 我比较喜欢C++,使用OpenCV创建和训练一个SVM。但是,在使用trainAuto()方法时,内存位置0x0出现错误的访问错误。假设这是OpenCV这一事实并不重要,因为这是指针操作的问题。我现在的代码如下。它应该生成一个大小为numgs*NUMVECTORS的二维数组。请让我知道,如果你发现任何原因,我可能会失去记忆或分配不正确。。。仅供参考,numigs和NUMVECTORS分别为20和15000,因此这是一个非常大的浮动数组_C++_Arrays_Opencv - Fatal编程技术网

声明二维动态数组并从向量填充 我比较喜欢C++,使用OpenCV创建和训练一个SVM。但是,在使用trainAuto()方法时,内存位置0x0出现错误的访问错误。假设这是OpenCV这一事实并不重要,因为这是指针操作的问题。我现在的代码如下。它应该生成一个大小为numgs*NUMVECTORS的二维数组。请让我知道,如果你发现任何原因,我可能会失去记忆或分配不正确。。。仅供参考,numigs和NUMVECTORS分别为20和15000,因此这是一个非常大的浮动数组

声明二维动态数组并从向量填充 我比较喜欢C++,使用OpenCV创建和训练一个SVM。但是,在使用trainAuto()方法时,内存位置0x0出现错误的访问错误。假设这是OpenCV这一事实并不重要,因为这是指针操作的问题。我现在的代码如下。它应该生成一个大小为numgs*NUMVECTORS的二维数组。请让我知道,如果你发现任何原因,我可能会失去记忆或分配不正确。。。仅供参考,numigs和NUMVECTORS分别为20和15000,因此这是一个非常大的浮动数组,c++,arrays,opencv,C++,Arrays,Opencv,因此,现在我得到EXC_算术代码=EXC_I386_DIV subcode=0x0,可能它正在尝试对数据集进行操作,但拒绝0个值项?这部分看起来可疑: trainDataFloats[i] = thisHog; 您已经为trainDataFloats[x]分配了一个值,因此您正在泄漏内存,并且可能将trainDataFloats[i]设置为指向它不应该指向的内容 i这里循环到NUMVECTORS,但是trainDataFloats分配了NUMVECTORS元素,如果NUMVECTORS大于NU

因此,现在我得到EXC_算术代码=EXC_I386_DIV subcode=0x0,可能它正在尝试对数据集进行操作,但拒绝0个值项?

这部分看起来可疑:

trainDataFloats[i] = thisHog;
  • 您已经为
    trainDataFloats[x]
    分配了一个值,因此您正在泄漏内存,并且可能将
    trainDataFloats[i]
    设置为指向它不应该指向的内容
  • i
    这里循环到
    NUMVECTORS
    ,但是
    trainDataFloats
    分配了
    NUMVECTORS
    元素,如果
    NUMVECTORS
    大于
    NUMVECTORS
    ,则会出现缓冲区溢出。这不是在这个特殊的情况下,但它确实表明出了一些问题

  • 什么是
    thisSVM
    ,它在哪里初始化?嗨,Stephan,thisSVM被全局声明为
    Ptr thisSVMthisSVM=ml::SVM::create()(如果您想知道它肯定是在此代码之前调用的)您好,非常感谢您的帮助。我已经考虑到这一点,并重新设计了函数。我还删除了循环中不必要的浮点数组,但令人惊讶的是,它仍然具有糟糕的访问。我想没有什么事情我忘了考虑,你能看到吗?我已经用更新的代码修改了我的问题