Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo poner el marcador estable (círculo sólido en la imagen). ¿Cuál estará en la misma posición en el próximo marco de la cámara?

Estoy pensando en poner marcadores en las imágenes tomadas de la cámara de salida similar a lo que hace la aplicación de Google Fotoscan . Como puedo ver la aplicación de Google Photoscan pone cuatro círculos sólidos en la imagen que es la superposición y luego se mueve el centro círculo santifica hacia los cuatro círculos sólidos y capturar las cuatro imágenes. Coserlos juntos para crear una imagen de alta calidad.

Capturas de pantalla para referencia (Los puntos sólidos que puede ver siempre están allí incluso en el mismo color de fondo Incluso si mueve la cámara alrededor y de nuevo a la posición inicial que se mostrará en la misma posición):

Los puntos sólidos que puedes ver siempre están allí incluso en el mismo fondo de color. Incluso si mueves la cámara hacia atrás y hacia atrás a la posición inicial, aparecerán en la misma posición

Estoy muy curioso cómo son capaces de estables los cuatro círculos sólidos? ¿Utilizan algún algoritmo de flujo óptico? ¿O cualquier sensor de movimiento? He probado la aplicación en color blanco o en el mismo color de fondo esos puntos permanecen estables.

Implementé esta funcionalidad usando el algoritmo de flujo óptico (método Lucas-Kanade en openCV). Pero no son estables cuando los estoy utilizando en el mismo color de fondo o en fondo de color blanco (básicamente en el algoritmo de Lucas-Kanade si no encuentra la característica Intenta cambiar ese punto). Aquí está la captura de pantalla para mi implementación:

  • Error: Programa "/ndk-build.cmd" no se encuentra en PATH
  • Android UnsatisfiedLinkError con OpenCV 2.4.2
  • Android OpenCV - detectar curvas de Houghlines
  • Gire VideoCapture en OpenCV en Android
  • Cómo configurar la resolución de la cámara en Android con OpenCV?
  • Dilatación y erosión en Android
  • Cómo obtener el objeto Mat desde el byte en openCV android?
  • Cómo ejecutar código OpenCV sin OpenCv Manager
  • One Solution collect form web for “Cómo poner el marcador estable (círculo sólido en la imagen). ¿Cuál estará en la misma posición en el próximo marco de la cámara?”

    Estás casi cerca. El uso de un solo sensor ya sea solo giroscopio o brújula no funcionará. Combinando el resultado de éstos, podemos alcanzar su requisito.

    Ingrediente 1: Acelerómetro

    Los acelerómetros en teléfonos móviles se utilizan para detectar la orientación del teléfono. El giroscopio, o giroscopio para abreviar, añade una dimensión adicional a la información suministrada por el acelerómetro mediante el seguimiento de la rotación o torsión. Un acelerómetro mide la aceleración lineal del movimiento.

    Ingrediente 2: giroscopio

    En la práctica, un acelerómetro medirá el movimiento direccional de un dispositivo, pero no podrá resolver su orientación lateral o inclinarse durante ese movimiento con precisión, a menos que haya un girocompás para rellenar esa información.

    Ingrediente 3: Brújula digital

    La brújula digital que suele basarse en un sensor llamado magnetómetro proporciona a los teléfonos móviles una orientación sencilla en relación con el campo magnético de la Tierra. Como resultado, su teléfono siempre sabe qué camino es el Norte para que pueda girar automáticamente sus mapas digitales dependiendo de su orientación física.

    Con un acelerómetro puede obtener una salida de información realmente "ruidosa" que responda, o puede obtener una salida "limpia" que es lenta. Pero cuando se combina el acelerómetro de 3 ejes con un girocompás de 3 ejes, se obtiene una salida que es a la vez limpia y sensible al mismo tiempo.

    Volviendo a su pregunta, Lucas-Kanade método en openCV resultado retrasado causando fallo o los sensores no dar resultados precisos de su dispositivo.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.