C++ API를 사용하여 OpenCV에 KNN 분류기를 저장하는 간단한 방법이 있습니까?부스트 직렬화 라이브러리를 사용하여 CvKNearest 클래스를 직렬화
다른 클래스에 CvKNearest 클래스를 래핑 한 후 here을 설명하는 KNN 분류기를 저장하려고했습니다.
그것은 성공적으로 디스크에 저장하지만 나는 그것이 실행 읽을 때 는 방법은 나에게 세그먼트 오류 (코어 덤프) 오류를 제공 예측하고있다.
class KNNWrapper
{
CvKNearest knn;
bool train(Mat& traindata, Mat& trainclasses)
{
}
void test(Mat& testdata, Mat& testclasses)
{
}
}
내가 그 부스트 직렬화 라이브러리 더 견고하고 안전 들었어요 다음과 같이
내 래퍼 클래스입니다. 누구든지 Boost 라이브러리로이 작업을 수행 할 수있는 적절한 리소스를 가르쳐 주시겠습니까?
어떤 운영체제입니까? 32 비트, 64 비트? 어떤 OpenCV 버전? 저장 및로드는 OpenCV Machine Learning 라이브러리에서 문제가되지 않습니다. 데이터에 대한 전체 코드 목록이 있습니까? 래퍼는 실제로 의미가 없습니다. – bytefish
64 비트 우분투 OpenCV 2.3.1을 사용하고 있습니다. KNN 분류자를 저장하고로드하려고합니다. 여기에 다음 코드가 있습니다 https://gist.github.com/3008331 – garak