Я использую C ++ и OpenCV 3.3.1
Я пытаюсь обучить SVM с OpenCV, мои шаги:
- Предварительная обработка изображения
- Функция извлечения с SURF
- создание набора данных для изучения позитивных и негативных изображений
- изменить форму изображения 1 ряд 1
- создание метки с -1 для негатива и +1 для позитива
- обучение SVM
- предсказать
А теперь моя проблема:
Допустим, мои изображения имеют размер 128 x 128, и после извлечения объектов я получил коврик
с 16 строками и 128 столбцами после изменения формы я получил 1 строку и 2048 столбцов, теперь SVM обучен с таким размером строк и столбцов. И когда я пытаюсь предсказать с помощью моего SVM, у меня возникает проблема, заключающаяся в том, что для SVM требуется тот же размер функционального элемента Mat (1 строка и 2048 столбцов), но мое изображение для предсказания получило больше функций, чем обучающие изображения, так что Mat для предсказания - это способ больше по мере необходимости.
Прогноз с тем же изображением, которое я использовал для обучения, работает хорошо, поэтому я думаю, что SVM работает.
Как я могу использовать SVM для больших изображений?