7

Quiero desarrollar una aplicación que reconozca el objeto (como monumento o algo así) presente en frente de la cámara usando OpenCv y luego se mostrará información al respecto.OpenCV para comparar la imagen de ANDROID

Así que la pregunta es cómo reconocer el objeto (como monumento o algo así) forma o comparar imágenes con OpenCV?
¿Y cuál es el mejor método para hacer esto?

Sería bueno si hubiera algún tipo de muestras o tutoriales para la detección y comparación de objetos.

Gracias.

+1

¿Qué algoritmos de detección de objetos ha mirado? Primero debe decidir cuál es la más adecuada para su aplicación. Dependiendo de su algoritmo, puede que tenga que usar datos de entrenamiento para ayudar a definir un modelo que mejor describa el objeto que desea detectar. La visión por computadora es un área muy difícil para trabajar y requiere una buena comprensión del área. Si eres nuevo en esto, te recomendaría conseguir algunos libros de texto. – BDFun

Respuesta

6

El mejor método para lo que pregunta es usar detectores de características locales como SIFT, SURF y ORB de OpenCV, por ejemplo.

Necesita al menos una imagen del objeto que desea detectar. Después, esos algoritmos pueden comparar esa imagen con otras imágenes para ver si son lo suficientemente similares.

Aquí está el Documentación para los algoritmos.

  • ORB y otros:

http://docs.opencv.org/modules/features2d/doc/feature_detection_and_description.html

  • SURF y filtrar ('no libre'):

http://docs.opencv.org/modules/nonfree/doc/feature_detection.html

La forma en que estos algoritmos trabajan para ese la tarea es por sel ecting puntos interesantes para cada imagen, y compararlos para ver si coinciden. Si se encuentran varias coincidencias, es más probable las imágenes tienen el mismo objeto.

tutoriales (de función de detección y por debajo):

http://docs.opencv.org/doc/tutorials/features2d/table_of_content_features2d/table_of_content_features2d.html

También puede encontrar C++ muestras relacionados con este tema aquí (las muestras están también dentro del paquete OpenCV descarga):

  • por ejemplo. "matching_to_many_images.cpp"
  • "video_homography.muestras CPP"

http://code.opencv.org/projects/opencv/repository/revisions/master/show/samples/cpp

Y Android Java aquí (sin relación, sino también útiles):

http://code.opencv.org/projects/opencv/repository/revisions/master/show/samples/android

O muestras Python que en realidad son los más actualizados que de este tema (en el momento en que se escribió esta publicación):

http://code.opencv.org/projects/opencv/repository/revisions/master/show/samples/python2

Como nota final, como @BDFun dijo en el comentario, esto no es trivial.

Más - si desea obtener una descripción general de la detección y descripción de características de OpenCV, check this post.

+0

cómo usar opencv + android? Con el android NDK? – nawara

+0

¿Has verificado esto? http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.html#native-c –

Cuestiones relacionadas