Detección de objetos Android OpenCV
Estoy tratando de implementar algo como esto: http://www.youtube.com/watch?v=zjxWpKCQqJc en android.
Aquí mi código:
- ¿Cuál es la mejor manera de enviar una imagen desde un dispositivo Android a un servidor para su procesamiento y enviar los resultados?
- Uso de la clase EffectFactory en mapa de bits - Android
- Com.android.camera.action.CROP establece fondo de pantalla en Motorola Defy
- Detección de objetos android opencv
- Cómo extraer formas geométricas simples de contornos en opencv
public Mat onCameraFrame(CvCameraViewFrame inputFrame) { Mat novo = new Mat(); Mat resp = new Mat(); Mat homer = new Mat(); //resp = inputFrame.gray(); novo = inputFrame.gray(); Mat lido = new Mat(); try { lido = Utils.loadResource(this, R.drawable.homer); } catch (IOException e) { e.printStackTrace(); } Imgproc.cvtColor(lido, homer, Imgproc.COLOR_RGB2GRAY); FeatureDetector surf = FeatureDetector.create(FeatureDetector.FAST); MatOfKeyPoint keypointsHomer = new MatOfKeyPoint(); MatOfKeyPoint keypoints = new MatOfKeyPoint(); surf.detect(homer, keypointsHomer); surf.detect(novo, keypoints); DescriptorExtractor SurfExtractor = DescriptorExtractor.create(FeatureDetector.SURF); Mat descriptors = new Mat(); Mat homerDescriptors = new Mat(); SurfExtractor.compute(novo, keypoints, descriptors); SurfExtractor.compute(homer, keypointsHomer, homerDescriptors); DescriptorMatcher m = DescriptorMatcher.create(DescriptorMatcher.BRUTEFORCE); MatOfDMatch matches = new MatOfDMatch(); m.match(descriptors, homerDescriptors, matches); Features2d.drawMatches(novo, keypoints, homer, keypointsHomer, matches, resp); return resp; }
Y tengo el siguiente error: https://dl.dropboxusercontent.com/u/2345114/error_android.png
Si intento dibujar los puntos clave como este:
Features2d.drawKeypoints(novo, keypoints, resp); Features2d.drawKeypoints(homer, keypointsHomer, resp);
¡Ambos funcionan bien! ¿Qué estoy haciendo mal?
- Android: Imagen sobre imagen
- OpenCV - Java: función inRange
- ¿Es posible cortar un mapa de bits a piezas pequeñas sin cargar toda la cosa en la memoria?
- Sobel Edge Detection en Android
- Tiempo de procesamiento de OpenCV Mat
- ¿Cómo puedo trabajar con Android EffectFactory Class?
- Cómo configurar la imagen de salida use com.android.camera.action.CROP
- Animar la imagen de la cara - usando deformación?
¡Finalmente termino eso!
Heres un vínculo con el resultado final.
Simpson Detector (OpenCV)
Espero que esto te ayude de alguna manera, en Google Play puedes ver más detalles sobre ese proyecto y descargar el código fuente. No dude en enviarme un e-mail.
Redondeé el problema de otra manera. Supongo que Features2d.drawMatches no funciona en android. Probablemente sólo funciona con JVM y con componentes que no existen en android. Si alguien puede confirmar que estoy agradecido.
Google eliminó la aplicación y no dijo por qué! = (Pero el código fuente está disponible junto con el apk en mi sitio!
Quintao.info
Resultado: https://www.youtube.com/watch?v=h2KHje-Pf10
Fuente: github.com/raphaelquintao/SimpsonDetector
Espero haber ayudado!
- Android (Java) Entrada de audio en tiempo real (micrófono y USB) y salida
- Aplicación de la burbuja de chat de Android en ListView