我们能在OpenCv C+中用BigInt标签训练特征向量模型吗+;? 我尝试用OpenCV构建一个用C++实现的人脸识别软件。我遇到的问题是,我有很多面,超过1000万张,这些面不能仅仅用INT类型(vector/INT/labels)来标记。我尝试使用long-long-int,但经过一段时间的训练(0.5秒后)后出现此错误:

我们能在OpenCv C+中用BigInt标签训练特征向量模型吗+;? 我尝试用OpenCV构建一个用C++实现的人脸识别软件。我遇到的问题是,我有很多面,超过1000万张,这些面不能仅仅用INT类型(vector/INT/labels)来标记。我尝试使用long-long-int,但经过一段时间的训练(0.5秒后)后出现此错误:,c++,opencv,C++,Opencv,OpenCV错误:参数错误(标签必须以整数形式给出(CV_32SC1)。应为4,但为7。)在train中,file/home/roka/OpenCV-2.4.6.1/modules/contrib/src/facerec.cpp,第349行在抛出“CV::Exception”what()的实例后终止调用:/home/roka/OpenCV-2.4.6.1/modules/contrib/src/facerec.cpp:349:Error:(-5)标签必须以整数形式给出(CV_32SC1)。预期为

OpenCV错误:参数错误(标签必须以整数形式给出(CV_32SC1)。应为4,但为7。)在train中,file/home/roka/OpenCV-2.4.6.1/modules/contrib/src/facerec.cpp,第349行在抛出“CV::Exception”what()的实例后终止调用:/home/roka/OpenCV-2.4.6.1/modules/contrib/src/facerec.cpp:349:Error:(-5)标签必须以整数形式给出(CV_32SC1)。预期为4,但实际为7。在函数列中,如果你要处理数百万张脸,你会遇到更多的问题,而不是整数太小而无法标记它们

特征脸方法需要的内存远远超过一台机器所能容纳的内存,因为您需要在一次训练中提供所有可用数据


您必须将该数据分成若干块,并选择一个可以与独立测量相结合的algo(即lbp)。另外,您还需要一个单独的索引,将int标签(从本地识别)再次转换为全局bigint标签

Hi Berak,感谢您的回复。我能够在opencv的代码中稍微更改代码(未注释某些行),以便它接受bigint标签。但我不确定这是否可以接受,也不确定我将来是否会遇到麻烦。