Я пытаюсь создать мешок слов программы, используя ORB
как мой detector
и extractor
с BruteForce
для matcher
.C++ мешка слов Кластерированных Array Size Issue
Все работает нормально.
Но мое дело в том, что, когда я пытаюсь Кластер мой массив описателей, она сжимается от
[32 x several thousand odd]
в
[32 x 1]
Я также не понимаю, где 32 либо из программ, которые в настоящее время читаются только на 14 изображениях.
Код:
cout << " -- All Other Images Features Array Size: " << allImgFeaturesUnclustered.size();
BOWKMeansTrainer allImgBowTrainer(dictionarySize, termCrit, retries, flags);
Mat allImgDictionary = allImgBowTrainer.cluster(allImgFeaturesUnclustered);
BOWImgDescriptorExtractor allImgBowImgDesExtr(extractor,matcher);
allImgBowImgDesExtr.setVocabulary(allImgDictionary);
cout << " -- All Images Dictionary Size: " << allImgDictionary.size();
В верхней строке, когда остался до их полного исходного размера, Массив выходит как [32 x 6969]
для всех дескрипторов выходных всех изображений.
В нижней строке, после того как они были объединены в кластеры, Массив выходит как [32 x 1]
Я сделал это только один образ, и он до сих пор идет от [32 x 458]
к [32 x 1]
Правильно ли это? В течение последних 2-3 недель я много учил себя C++ и OpenCV, поэтому приношу свои извинения, если это нормально.
Благодарим вас за эту ссылку, очень полезно. – MLMLTL