Использование OpenCV KNearest Neighbor — OpenCV; Переполнение стека

Я хочу использовать алгоритм KNN OpenCV для классификации 4 функций в один из двух классов. В текстовом файле мои тренировочные данные представлены в следующем формате:

feature_1, feature_2, feature_3, feature_4, класс

где feature_1, feature_3, feature_4 и class являются целыми числами, а feature_2 имеет тип float. Первая строка текстового файла содержит заголовки для каждой функции.

Тем не менее, документация OpenCV (http://docs.opencv.org/modules/ml/doc/k_nearest_neighbors.html) утверждает, что функция поезда требует данных обучения в структуре данных Mat.

Я запутался в том, как я могу преобразовать свой текстовый файл обучающих данных в мат. Если кто-то может помочь мне с этим, я был бы очень признателен.

0

Решение

По сути, OpenCV реализует CvMLData который может читать csv файлы (и ваш файл — файл, разделенный запятыми).

согласно документации: http://docs.opencv.org/modules/ml/doc/mldata.html

Создав объект CvMLData, вы можете использовать метод read_csv:

read_csv(const char* filename)

загрузить его, а затем использовать get_values() получить указатель на входные данные как Mat а также get_responses() чтобы получить указатель на метки как Mat

Чтобы указать, какой столбец считается «ответом» (метка), используйте set_response_idx метод

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]