A
A
Alexander Taratin2018-01-30 18:00:26
Mathematics
Alexander Taratin, 2018-01-30 18:00:26

How to compress opencv ORB descriptors 32 bytes into 8 bytes using phash?

I'm trying to do a search based on the article
https://habrahabr.ru/post/211773/
there is such a moment

Since our hash is a 64-bit number, it is required to shrink 32 bytes of the descriptor into 8 bytes and at the same time not lose much in accuracy.
After some tests, it was decided to try to represent these 32 bytes as a 16x16 bit matrix. And then pass this matrix through the PHash perceptual hash. The result should have been just a 64-bit number.

And somehow I have no idea how to feed this matrix into cv :: dct from opencv or https://www.phash.org/
Interested in a solution in c ++ but any other language will
do In the repository of the author of the article (huge respect to him by the way) did not find an example with converting a descriptor to a hash https://github.com/valbok/img.chk

Answer the question

In order to leave comments, you need to log in

1 answer(s)
V
valbok, 2018-01-30
@Taraflex

Good afternoon,
> I did not find an example with converting the descriptor
Descriptor in the form of 32 bytes, a 16*16 bit matrix is ​​created
https://github.com/valbok/img.chk/blob/master/core...
Here is the implementation of phash
https:/ /github.com/valbok/img.chk/blob/master/core...

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question