Error seems to be on this line:
Ptr<ml::TrainData> tData = ml::TrainData::create(_projections, ml::SampleTypes::ROW_SAMPLE, _labels);
From this code:
Ptr<ml::SVM> svm = ml::SVM::create();
svm->setType(ml::SVM::C_SVC);
svm->setKeel(ml::SVM::LINEAR);
svm->setGamma(3);
svm->setTermCriteria(TermCriteria(TermCriteria::MAX_ITER, 100, 1e-6));
Ptr<ml::TrainData> tData = ml::TrainData::create(_projections, ml::SampleTypes::ROW_SAMPLE, _labels);
cout << "still good" << endl;
svm->train(tData);
int prediction = svm->predict(q);
cout <<"prediction is:"<< x << endl;