0
我是新來打開簡歷,所以目前正在掙扎。我已經使用以下定義提取了HOG特徵:HOG描述符矢量佈局以及如何將它們保存到文本文件
HOGDescriptor hog(Size(16,16), Size(16,16), Size(16,16), Size(8,8), 9);
它返回36維特徵向量/像素。現在我想將所有這36個值連續分開並保存在文本文件中。我不知道該怎麼做。請引導我。
在此先感謝。
我是新來打開簡歷,所以目前正在掙扎。我已經使用以下定義提取了HOG特徵:HOG描述符矢量佈局以及如何將它們保存到文本文件
HOGDescriptor hog(Size(16,16), Size(16,16), Size(16,16), Size(8,8), 9);
它返回36維特徵向量/像素。現在我想將所有這36個值連續分開並保存在文本文件中。我不知道該怎麼做。請引導我。
在此先感謝。
在計算出特徵之後,即descriptors
,cv::HOGDescriptor::compute
,這是一個vector<float>
,因此只需像正常vector<float>
那樣訪問它即可。
如果你想將它們分成36
-by- 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];
...
}
}
}
非常感謝您的回答。我需要得到前36個值,然後是下36個等等......是他們在開放式CV中的任何東西,如描述符(1:36)(如在Matlab中)? – user3319734
@ user3319734我找到了一種方法來做到這一點,看看[這裏](http://stackoverflow.com/a/421615/2589776)。或者簡單地使用'for'循環。 – herohuyongtao
你能爲此寫一個for循環嗎? – user3319734