IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

PreviewFrame : Camera -> rotation de 90 degree en mode portrait


Sujet :

Android

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Points : 20
    Points
    20
    Par défaut PreviewFrame : Camera -> rotation de 90 degree en mode portrait
    Bonjour,

    Je realise en ce moment une application de traitement d'image sur android.
    Lorsque je récupère une frame par la méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    	Camera.PreviewCallback mPreviewCallback = new Camera.PreviewCallback() {
    		@Override
    	public void onPreviewFrame(byte[] data, Camera camera) {
    Je me retrouve avec une image avec une rotation de 90 degres par rapport à la vue normale celle de mon surfaceView.
    Déjà pour corriger l'orientation de la vue dans mon surfaceView, j'ai du faire les modifications suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    public void surfaceCreated(SurfaceHolder holder) {
    		Log.e(TAG, "surfaceCreated");
    		mCamera = Camera.open();
    		mCamera.setDisplayOrientation(90);
     
    		Camera.Parameters p = mCamera.getParameters();
    	    p.set("jpeg-quality", 100);
    	    p.setRotation(90);
    	    p.setPictureFormat(PixelFormat.JPEG);
    	    int w = p.getPreviewSize().width;
    	    int h = p.getPreviewSize().height;
     
    	    p.setPreviewSize(h, w);
    	    mCamera.setParameters(p);
    	}
    Savez-vous comment je peux obtenir une image avec la bonne rotation dans mon callback ?

    Sinon comment puis-je appliquer une rotation de 90 sur mon byte[] ?

    Merci pour votre aide.

  2. #2
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour

    Savez-vous comment je peux obtenir une image avec la bonne rotation dans mon callback ?
    Il me semble que cela n'est pas possible par contre méfie toi en plus la rotation n'est pas forcément la même , ce n'est pas toujours 90° , cela dépends aussi l'orientation du smartphone il me semble aussi.

    Sinon comment puis-je appliquer une rotation de 90 sur mon byte[] ?
    Pour la rotation d'une bitmap

    Il faut créer une nouvelle bitmap à partir de l'ancienne avec une matrice de rotation

    http://developer.android.com/referen...trix, boolean)

    http://developer.android.com/referen...tRotate(float)
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

Discussions similaires

  1. Rotation de la camera en java3D
    Par cereal dans le forum 3D
    Réponses: 2
    Dernier message: 04/12/2008, 16h38
  2. Camera, rotation et zoom
    Par XemHA dans le forum OpenGL
    Réponses: 0
    Dernier message: 11/03/2008, 14h35
  3. Orientation et Rotation camera 3D
    Par pkpas dans le forum Moteurs 3D
    Réponses: 9
    Dernier message: 31/07/2007, 23h02
  4. rotation camera glutlookat
    Par hysah dans le forum OpenGL
    Réponses: 3
    Dernier message: 03/04/2006, 11h07
  5. calculs mathematiques : rotation camera
    Par zax-tfh dans le forum OpenGL
    Réponses: 8
    Dernier message: 09/01/2006, 13h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo