Я новичок в том, чтобы открыть CV, так что в настоящее время он борется с этим. Я извлек функции HOG, используя следующее определение:
HOGDescriptor hog(Size(16,16), Size(16,16), Size(16,16), Size(8,8), 9);
Он возвращает 36-мерный вектор-объект/пиксель. Теперь я хочу отделить все эти 36 значений в строке и сохранить их в текстовом файле. Я не знаю, как это сделать. Пожалуйста, помогите мне.
Заранее спасибо.
После того, как вы вычислили функции, то есть descriptors
cv::HOGDescriptor::compute
, это vector<float>
, поэтому просто cv::HOGDescriptor::compute
к нему, как обычный vector<float>
s.
И если вы хотите, чтобы разделить их на 36
матрицу с размерностью 36
стиль, вы можете сделать так:
for (int i=0; i<descriptors.size()/36; i++)
{
// ... handle 36 values here
for (int j=0; j<36; j++)
{
if (36*i+j < descriptors.size()) // make sure not out-of-bound
{
float temp = descriptors[36*i+j];
...
}
}
}
for
-loop.