0
我想在C++中使用OpenCV库实现BOW。我已提取的图像的关键点与SIFT方法是这样的(对于每个图像):OpenCV弓 - 太高的直方图值
featureDetector->detect(image, keypoints);
descriptorExtractor->compute(image, keypoints, descriptors);
bowTrainer.add(descriptors);
然后词汇训练用bowTrainer.cluster()
并存储到BOWImgDescriptorExtractor bowDE
。在存储词汇后,我希望看到至少一张图像。这是实现这样
featureDetector->detect(image, keypoints);
bowDE->compute(image, keypoints, histogram);
for (int i = 0; i < histogram.cols; i++)
cout << histogram.at<unsigned>(0, i) << ",";
而结果有1
一行k
列(k
从k均值)值要么0
或周围980000000
......我不认为这是正确的,请告诉我,我是什么做错了。当我想要显示图时,这看起来非常糟糕。