Получение нулевых дескрипторов после вычисления HOG - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь вычислить HOG descriptors для изображений для обучения SVM, Мои изображения 50 * 50 JPG.

Моя проблема может заключаться в том, что я преобразовал все свои изображения, ранее находившиеся в наборе данных, из .ppm расширения файла в .jpg расширения путем переименования каждого файла изображения.

Даже если я не могу загрузить сюда в Stackoverflow образец моих переименованных .ppm в .jpg изображений, анализатор говорит: «Этот формат не поддерживается».

Но с другой стороны, эти изображения я могу просмотреть их на своем компьютере (OS X), я могу загрузить их на OpenCV, я могу ими манипулировать и могу зациклить все пиксели как обычные изображения.

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

MatOfFloat descriptors = new MatOfFloat();
MatOfPoint locations = new  MatOfPoint();
HOGDescriptor hog = new HOGDescriptor();

Mat img = Highgui.imread("/Desktop/11.jpg", Highgui.CV_LOAD_IMAGE_COLOR);

hog.compute(img, descriptors, new Size(50,50), new Size(8,8), locations);

System.out.println(descriptors);
// Result Mat [ 0*1*CV_32FC1, isCont=true, isSubmat=false, nativeObj=0x7ffe63c01190, dataAddr=0x0 ]

Впервые мы имеем дело с .ppm расширениями, поэтому, если кто-то знаком с этим, я был бы очень признателен.

РЕДАКТИРОВАТЬ: Я загрузил одно из моих образцов изображений Здесь

Дополнительный вопрос: При вычислении HOG Descriptors для изображения должно быть в сером цветовом пространстве для обучения SVM или было бы хорошо, если бы я оставил его как RGB?

...