Comment appliquer différents effets d'image (filtres) sur bitmap comme le sépia, noir et blanc, flou, etc.?

Je n'ai aucune idée de comment appliquer un effet différent sur L'Image,

j'ai vu l' EffectFactory classe et Effet classe en effet classe il y a une méthode appliquer mais je ne suis pas sûr de ce qu'il faut passer dans inputTexId et optputTexId, et d'où je reçois la nouvelle image mise à jour, comment stocker l'image mise à jour dans imageView,

Merci de m'aider avec la façon d'aborder ce problème. Existe-t-il une bibliothèque opensource disponible? pour fournir des effets sur l'Image.

Merci,

11
demandé sur Kees de Vriesch 2013-04-30 08:26:22

5 réponses

j'ai implémenté Jerry Java de Traitement de l'Image de la Bibliothèque. Fonctionne très bien pour moi.

Télécharger AndroidJars.

Modifier

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
//Find the bitmap's width height
int width = AndroidUtils.getBitmapOfWidth(getResources(), R.drawable.ic_launcher);
int height = AndroidUtils.getBitmapOfHeight(getResources(), R.drawable.ic_launcher);
//Create a filter object.
GaussianFilter filter = new GaussianFilter();
//set???? function to specify the various settings.
filter.setRadius(8.5f);
//Change int Array into a bitmap
int[] src = AndroidUtils.bitmapToIntArray(bitmap);
//Applies a filter.
filter.filter(src, width, height);
//Change the Bitmap int Array (Supports only ARGB_8888)
Bitmap dstBitmap = Bitmap.createBitmap(src, width, height, Config.ARGB_8888);

pour obtenir de plus amples renseignements, consultez Android-jhlabs

9
répondu Chintan Rathod 2013-12-02 12:18:57

Vous pouvez utiliser Catalano Framework:

http://code.google.com/p/catalano-framework/

FastBitmap image = new FastBitmap(bitmap);
image.toRGB();

//Sepia
Sepia sepia = new Sepia();
sepia.applyInPlace(image);

//Blur
Blur blur = new Blur();
blur.applyInPlace(image);

//Emboss
Emboss emboss = new Emboss();
emboss.applyInPlace(image);

//Retrieve bitmap
bitmap = fb.toBitmap();
6
répondu Diego Catalano 2013-07-12 05:50:07

Oui, vous pouvez utiliser de nombreux effets à l'aide de la volière sdk..

Visite http://www.aviary.com/android

Pour des effets plus avancés, vous pouvez utiliser Opencv.. Ce sont les meilleurs..

5
répondu Sujith 2013-04-30 05:13:05

vous pouvez aussi essayer projet de gérer un certain nombre de Traitement Bitmap

Filtres :-

  • Boost-Up Colors
  • Luminosité
  • Profondeur De Couleur
  • Filtre De Couleur
  • Contraste
  • Estampage
  • Symétrie et Rotation
  • Gamma
  • gaussienne Le flou
  • échelle de gris
  • Teinte
  • Inverser
  • Bruit
  • Saturation
  • Sépia
  • Aiguiser
  • croquis
  • Teinte
  • Vignette

depuis Qu'il est en Java et fait le traitement d'étiquette de pixel, il n'est pas aussi rapide que la plupart des bibliothèques basées sur C++ là-bas, mais il fonctionne très bien si la taille bitmap n'est pas très grand par exemple les vignettes.

2
répondu Hitesh Sahu 2016-04-18 06:21:15

C'est une excellente Bibliothèque, facile à intégrer avec gradle, Il est Rapide et efficace et a sauvé ma journée:

https://github.com/wasabeef/picasso-transformations

ceci est un exemple de la façon de l'utiliser:

 Transformation trans1 = new ContrastFilterTransformation(getActivity(), 1.5f);
                        Transformation trans2 = new BrightnessFilterTransformation(getActivity(), 0.2f);
                        Picasso.with(getActivity()).load(uri)
                                .transform(trans1).transform(trans2).into(imageview3);
1
répondu Gal Rom 2015-06-02 05:49:00