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 :

Convolution sur android


Sujet :

Android

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Points : 83
    Points
    83
    Par défaut Convolution sur android
    Bonjour,

    Je dois porter une fonction de floutage de java vers android. Le soucis est que je ne connais pas l’équivalent de la classe ConvolOp et Kernel (qui n'existent pas sous android, le package awt étant limité).

    Ceci est ma fonction java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    private void blur()	
    {
    	float ninth = 1.0f / 9.0f;
    	float[] blurKernel = {
              ninth, ninth, ninth,
              ninth, 1.0f/5.0f, ninth,
              ninth, ninth, ninth,
    	};
    	ConvolveOp cop = new ConvolveOp(new Kernel(3, 3, blurKernel));
    	BufferedImage img = new BufferedImage(bimg.getWidth(), bimg.getHeight(), BufferedImage.TYPE_INT_RGB);
    	cop.filter(bimg, img);
    	bimg = img;
        }
    En changeant BufferedImage avec Bitmap...

    Une petite idée ?

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    http://developer.android.com/referen...,%20boolean%29

    Avec la matrice qui va bien et le paramètre filter à true, le reste des parames semble évident (enfin j'ai jamais essayé, n'ayant jamais eu l'occasion de bosser sous android ^^ )
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Points : 83
    Points
    83
    Par défaut
    Merci de ta réponse.

    Voici ce que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    private void blur()
    	{
    		float ninth = 1.0f / 9.0f;
    		float[] blurKernel = {
    		        ninth, ninth, ninth,
    		        ninth, 1.0f/5.0f, ninth,
    		        ninth, ninth, ninth,
    			};
    		Matrix matrix = new Matrix();
    		matrix.setValues(blurKernel);
     
    		bimg = Bitmap.createBitmap (bimg, 0, 0, bimg.getWidth(), bimg.getHeight(), matrix, true);
    	}
    Ca te semble correct ?

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Au lieu de poser la tu pourrais tester, on est pas là pour te mâcher le travail.

    nb: Aucune idée, je n'ai jamais fait de dev android, mais la recherche dans la doc android, que tu n'as probablement pas fat, te donne beaucoup de réponses...)
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Points : 83
    Points
    83
    Par défaut
    Ok désolé, je me suis mal exprimé.

    Mon intention n'était pas de me faire mâcher le travail, mais étant tout juste débutant Android, je voulais simplement savoir si je n'avais rien oublié dans mon implémentation (vu que le résultat est forcément "flou" ).

    Et pour info, oui j'ai bien fait une recherche dans le doc sinon je n'aurais guère pu implémenter la fonction de la sorte.

    Merci pour ton aide en tout cas.

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/07/2009, 02h01
  2. Adobe et HTC portent Adobe Flash Platform sur Android
    Par Rémy d'Aprilli dans le forum Actualités
    Réponses: 0
    Dernier message: 26/06/2009, 16h43
  3. Réponses: 0
    Dernier message: 26/06/2009, 15h12
  4. Réponses: 0
    Dernier message: 26/06/2009, 15h12
  5. Vos questions sur Android, Dalvik, et les GPhone
    Par Ricky81 dans le forum Android
    Réponses: 0
    Dernier message: 06/04/2009, 19h59

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