Я пытаюсь преобразовать свою матрицу в CV_32FC1, чтобы тренировать SVM.I всегда получают сообщ об ошибке:OpenCV Assertion не удалось - ConvertTo
OpenCV Error: Assertion failed (func != 0) in convertTo, file /opt/opencv/modules/core/src/convert.cpp, line 1115
/eropt/opencv/modules/core/src/convert.cpp:1115: error: (-215) func != 0 in function convtTo
В основном я пытаюсь
Mat eyes_train_data = Mat::zeros(Eyes.features.size(), CV_32FC1);
Eyes.features.copyTo(eyes_train_data);
eyes_train_data.convertTo(eyes_train_data, CV_32FC1);
Я уже пытался получить глубину() матрицы, которая возвращает 7
. Я не уверен, что это значит. Eyes.features
матрица является (или должно быть) с плавающей точкой матрицы
получить Eyes.features
я использовать gotHogFeatures-метод с
vector<float> descriptorsValues;
vector<Point> location;
for(Mat patch : patches) {
hog.compute(patch, descriptorsValues, Size(0,0), Size(0,0), location);
features.push_back(descriptorsValues);
}
descriptorValues представляет собой вектор-строку и функции должны чем выглядеть следующим образом:
features:
{
descriptorValues0
descriptorValues1
...
}
благодарит за любую помощь.
что Eyes.type()? – Micka
Eyes.features - тип Mat; Глаза - это только typedef struct TrainingData Eyes – vicR
и Eyes.features.type() результаты для '7' – vicR