sql >> Base de Datos >  >> RDS >> Mysql

C++/SIFT/SQL:¿hay alguna manera de comparar de manera eficiente un descriptor SIFT de una imagen con un descriptor SIFT en una base de datos SQL?

Si yo fuera usted, preferiría comparar los descriptores en el código, en lugar de SQL. SQL no está hecho para eso. Yo haría lo siguiente:-

1. Pre-load N descriptors from SQL onto memory.
2. Compare distances to query descriptor, descriptor by descriptor.
3. If distance<threshold, push to possiblematches.
4. When you reach N/2 descriptors, push the next N.
5. Compare all matches, choose the best one or the best D descriptors, as per your requirement.

Sin embargo, para esto, prefiero usar la clase FileStorage incorporada de OpenCV que proporciona E/S en archivos XML y YAML; resuelve el dolor de cabeza de analizar manualmente los valores de los descriptores.