Я пытаюсь вычислить 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
?