Comment mettre un marqueur stable (cercle solide sur l'image). Quelle sera la même position sur la prochaine image de caméra?

Je pense mettre des marqueurs sur les images prises à partir de la sortie de la caméra similaire à ce que fait l'application Google Photoscan . Comme je peux le voir, l'application Google Photoscan met quatre cercles solides sur l'image qui est superposée, puis déplace le cercle de hallow du centre vers les quatre cercles solides et capture les quatre images. Ajoutez-les pour créer une image de haute qualité.

Captures d'écran pour la référence (Les points solides que vous pouvez voir sont toujours là même sur le même fond de couleur Même si vous déplacez la caméra et la réinitialisez à la position initiale, elles s'affichent à la même position):

  • Android AsyncTask barre de progression
  • Comment utiliser la base de données cloud gratuite avec l'application Android?
  • Changer l'image Floating Action Button Android
  • Android: invite l'utilisateur à enregistrer les modifications lorsque le bouton Précédent est pressé
  • Android, Comment supprimer tous les marqueurs de Google Map V2?
  • Service vs IntentService
  • Les points solides que vous pouvez voir sont toujours là même sur le même fond de couleur Même si vous déplacez la caméra et la remettre en position initiale, elles s'affichent à la même position

    Je suis très curieux de savoir comment ils peuvent stabiliser ces quatre cercles solides? Utilisent-ils un algorithme de flux optique? Ou tout capteur de mouvement? J'ai testé l'application sur une couleur blanche ou un fond de même couleur que les points restent stables.

    J'ai implémenté cette fonctionnalité en utilisant un algorithme de flux optique (méthode Lucas-Kanade dans openCV). Mais ils ne sont pas stables lorsque je les utilise sur le même fond de couleur ou sur un fond de couleur blanche (essentiellement dans l'algorithme Lucas-Kanade s'il ne trouve pas la fonctionnalité Il essaie de changer ce point). Voici la capture d'écran de ma mise en œuvre:

  • Dessiner du texte dans OpenGL ES
  • Contexte de lint.xml et profil d'inspection
  • Plugin de messagerie PhoneGap
  • Utilisation de PreferenceActivity and ActionBarActivity
  • Spell Check Studio Android / IntelliJ Idea
  • Comment enregistrer la position de défilement de RecyclerView dans Android?
  • One Solution collect form web for “Comment mettre un marqueur stable (cercle solide sur l'image). Quelle sera la même position sur la prochaine image de caméra?”

    Vous êtes presque proche. L'utilisation d'un seul capteur soit le seul gyroscope ou la boussole ne fonctionnera pas. En combinant le résultat de ces derniers, nous pouvons répondre à vos besoins.

    Ingrédient 1: Accéléromètre

    Les accéléromètres dans les téléphones mobiles sont utilisés pour détecter l'orientation du téléphone. Le gyroscope, ou le gyroscope à court, ajoute une dimension supplémentaire aux informations fournies par l'accéléromètre en effectuant un suivi de la rotation ou de la rotation. Un accéléromètre mesure l'accélération linéaire du mouvement.

    Ingrédient 2: gyroscope

    Dans la pratique, un accéléromètre mesurera le mouvement directionnel d'un dispositif mais ne pourra pas résoudre son orientation latérale ou son inclinaison pendant ce mouvement avec précision, à moins qu'un gyroscope ne puisse remplir cette information.

    Ingrédient 3: Boussole numérique

    La boussole numérique qui est généralement basée sur un capteur appelé magnetomètre fournit aux téléphones mobiles une orientation simple par rapport au champ magnétique de la Terre. Par conséquent, votre téléphone sait toujours de quelle manière est North afin qu'il puisse rouler automatiquement vos cartes numériques en fonction de votre orientation physique.

    Avec un accéléromètre, vous pouvez obtenir une sortie d'information vraiment "bruyante" qui répond, ou vous pouvez obtenir une sortie "propre" qui est lente. Mais lorsque vous combinez l'accéléromètre à 3 axes avec un gyroscope à 3 axes, vous obtenez une sortie à la fois propre et réactive en même temps.

    En revenant à votre question, la méthode de Lucas-Kanade en résultat openCV a retardé le problème ou les capteurs ne donnent pas un résultat précis de votre appareil.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.