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 :

Problème utilisation yuvImage


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 2
    Par défaut Problème utilisation yuvImage
    Bonjour à tous,
    je suis actuellement en train de développer une application permettant de recevoir un fichier .yuv et de l'afficher dans un imageView.

    j'ai essayer dans un premier temps d'ouvrir le fichier inclus dans mon projet et d'utiliser ce flux pour creer une image bitmap puis l'afficher dans mon imageView
    mais ça ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public void yuvAfficher (ImageView image1) {
            FileInputStream ips = new FileInputStream("capture0.yuv");
            InputStreamReader ipsr = new InputStreamReader(ips);
            BufferedReader bufferedReader = new BufferedReader(ipsr);
            byte[] yuvData = bufferedReader.readLine().getBytes();
            YuvImage iuvImage = new YuvImage(yuvData, 20, 640, 280, null);
            Bitmap bitmap = Bitmap.createBitmap(640, 280,Bitmap.Config.ARGB_8888);
            bitmap.copyPixelsFromBuffer(ByteBuffer.wrap(iuvImage));
            image1.setImageBitmap(bitmap);
    Savez vous pourquoi ca ne fonctionne pas?
    Merci de votre aide

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Je pense qu'il manque la question en fait.... (ou la description du problème)

  3. #3
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Je réitère ma remarque...
    Il manque la description du problème

    Qu'est ce qui ne fonctionne pas ?
    * Ça ne compile pas ? (=> il nous faut l'erreur d'eclipse)
    * Ça compile mais çà crash ? (=> il nous faut le logcat avec l'exception)
    * Ca "run", mais rien de s'affiche ? (=> vérifier que "bitmap" n'est pas null, si c'est le cas, il y a des informations dans le logcat, il nous les faut).
    * Ca "run", mais n'importe quoi s'affiche ?

  4. #4
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 2
    Par défaut
    Bah en faite je ne sait pas si c'est de cette manière qu'on transforme un fichier .yuv en image qui s'affiche dans un image View, j'aimerais savoir si il y a déjà quelqu'un qui a réussi à coder une fonction permettant de faire ça.

    Concernant ce qu'il ce passe c'est l'application qui plante à cause des inputStream mais je ne sait pas du tout comment on peut faire pour recuper les octets du fichier puis les traiters pour les afficher dans une image bitmap.

  5. #5
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FileInputStream ips = new FileInputStream("capture0.yuv");
    Là tu demandes d'ouvrir le fichier "capture0.yuv" à la racine du téléphone, peu de chances qu'il existe donc, et fortes chance de IOException (FileNotFoundException). Voir la documentation android sur le stockage pour plus d'information concernant cartes SD, ressources, ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    InputStreamReader ipsr = new InputStreamReader(ips);
    BufferedReader bufferedReader = new BufferedReader(ipsr);
    Un reader permet de transfomer en "texte" des octets lus il me semble illusoire qu'une image YUV soit décrite en texte.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    byte[] yuvData = bufferedReader.readLine().getBytes();
    Donc on lit une ligne de texte (donc on s'arrête au premier \n ou à la fin du fichier), et on la transforme en bytes.... Au passage du coup ce ne sera peut-être même pas les bytes originellement lus. En effet, si la lecture du InputStreamReader est en UTF-8 (1 byte par caractère la plupart du temps), le getBytes() par défaut de String est en UTF-16 (2 bytes par caractères).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    YuvImage iuvImage = new YuvImage(yuvData, 20, 640, 280, null);
    Le second paramètre (20) me semble étrange, il doit être ImageFormat.XXXXXXX à priori, et non un int sorti de nulle part.
    640x280 me semble aussi bizarre... pas évident que ce soit la taille de l'image dans le fichier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Bitmap bitmap = Bitmap.createBitmap(640, 280,Bitmap.Config.ARGB_8888);
    bitmap.copyPixelsFromBuffer(ByteBuffer.wrap(iuvImage));
    Là j'avoue que je ne connait pas.

Discussions similaires

  1. Problème utilisation DLL
    Par Tub-95 dans le forum MFC
    Réponses: 4
    Dernier message: 02/11/2005, 12h00
  2. [Tomcat][Spring] Problème utilisation mémoire
    Par Wutintin dans le forum Hibernate
    Réponses: 12
    Dernier message: 08/09/2005, 14h57
  3. [JSTL] [EL] Problème utilisation <c:out>
    Par XavierL dans le forum Taglibs
    Réponses: 7
    Dernier message: 14/08/2005, 20h12
  4. (Problème) Utilisation de l'API mySQL [Delphi 2005 Perso]
    Par will-scs dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/08/2005, 18h26
  5. [JAR]Problème utilisation manifest et jar
    Par doudine dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 07/01/2005, 10h21

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