I am trying to use Freak in opencv to detect functions and retrieve descriptors, and then to create a BOW dictionary and use a dictionary according to BOW for each image. You know everything. I know that BOW can be used with other descriptors, such as SIFT or SURF, it is not clear to me whether Freak descriptors, which are binary, can use BOW. More specifically, when opencv builds a BOW dictionary, it uses a k-means cluster. I donβt understand which distance function uses the k-means cluster algorithm. For binary descriptors such as Freak, the Hamming distance seems to be the only choice.
It seems to me that opencv k-mean uses only Euclidean distance when calculating distance, bummer. Looks like I have to create my own k-tools and my own dictionary. Any smart people out there know a workaround?
Thanks!
coolC source share