OpenCV: ¿Cómo creo un conjunto de datos de descriptores de imagen con SIFT?

Si está utilizando openCV 3, este código puede ser útil

  $ python
 >>> importar cv2
 >>> imagen = cv2.imread ("test_image.jpg")
 >>> gris = cv2.cvtColor (imagen, cv2.COLOR_BGR2GRAY)
 >>> sift = cv2.xfeatures2d.SIFT_create ()
 >>> (kps, descs) = sift.detectAndCompute (gris, Ninguno)
 >>> print ("# kps: {}, descriptores: {}". format (len (kps), descs.shape))
 # kps: 274, descriptores: (274, 128)
 >>> surf = cv2.xfeatures2d.SURF_create ()
 >>> (kps, descs) = surf.detectAndCompute (gris, Ninguno)
 >>> print ("# kps: {}, descriptores: {}". format (len (kps), descs.shape))
 # kps: 393, descriptores: (393, 64)

Para obtener más información sobre cómo implementar Sift y Surf en openCV, le sugiero que consulte los documentos de CV abiertos, especialmente la parte en la que hablan sobre la localización de detectores de puntos clave.

Consulte también este enlace que proporciono a continuación.

[1] Python OpenCV SIFT & SURF Descriptores de imagen.

Notas al pie

[1] ¿A dónde fueron SIFT y SURF en OpenCV 3? – PyImageSearch

Es muy simple de hacer en OpenCV. Hay un código de ejemplo en la carpeta de origen. De lo contrario, solo cree un objeto de clase SIFT que amplíe la clase de descriptor de entidad. También puede cambiar los parámetros según sea necesario.

Bueno, en OpenCV es bastante fácil,

Hay una función que devuelve descriptores de tamizado que puede almacenar y crear un conjunto de datos.

Para más información lea este documento:

Introducción a SIFT (Transformación de características invariables a escala)

Hay muchos códigos fuente disponibles en Internet. Uno es este:
http://ttic.uchicago.edu/~mostaj

El otro enlace más agradable está en la computadora portátil de mi oficina 🙂

amigo, usa la implementación sift de vlfeat
http://www.vlfeat.org/overview/s

Haz una búsqueda en google. 😛

More Interesting

¿Qué son las redes neuronales profundas?

¿Cuáles son los mejores cursos introductorios para el aprendizaje automático disponibles en Internet para principiantes?

¿Cuál es el mejor lenguaje de programación para el aprendizaje automático? ¿Qué idioma es mejor para programar microcontroladores y otras partes de hardware?

Tengo un conjunto de datos con 14 características. Quiero aplicar SVM en él usando R. ¿Cómo puedo?

Cómo interpretar el resultado de una red totalmente convolucional

¿Dónde puedo ir para averiguar cómo extraer características de un documento de texto para usar en el entrenamiento de un clasificador?

¿Es posible que AI / ML aprenda el patrón subyacente en los siguientes problemas y prediga la respuesta?

¿Cuál es su visión de cómo la clase media de los EE. UU. Puede hacer frente al auge de la robótica, la automatización, etc.?

¿Necesita ser un buen ingeniero de software para trabajar en cosas como visión por computadora, reconocimiento de voz, gráficos por computadora, aprendizaje automático?

¿Qué técnicas utilizadas en el procesamiento del lenguaje natural son aplicables a otras áreas del aprendizaje automático?

¿Cuál es el estado del arte para SLAM en dispositivos móviles?

¿Cuál es el peor caso de sobreajuste que hayas visto en entornos sociales o psicológicos?

¿Cuáles son los límites de los modelos ocultos de Markov en la minería de texto?

¿Cómo hace un auto Tesla el aprendizaje automático?

¿Qué llamarías técnicas de aprendizaje no automático?