Wie konvertiere ich Bitmap in Bleistiftskizze in Android?

Ich entwickle eine Bildbearbeitungs-App für Android. Dazu muss ich mein Bild in eine Bleistiftskizze umwandeln.

Kannst du mir bitte helfen?

  • Android-Taste Platzieren Sie Bild in Mitte und Text unten
  • Platzieren Sie das Bild auf den Koordinaten Android
  • So erstellen Sie EditText Hinweis als Text mit Bild in Android
  • Programmable change drawableLeft of Button
  • Android / Eclipse: Wie kann ich ein Bild in den res / drawable Ordner hinzufügen?
  • Android-Crop-Image wie Camscanner
  • Das geschnittene Bild ist in Android verschwommen
  • Android: Drawable nicht angezeigt
  • 2 Solutions collect form web for “Wie konvertiere ich Bitmap in Bleistiftskizze in Android?”

    Sie benötigen eine Bildverarbeitungsbibliothek, um das zu tun.
    Du kannst ImageJ oder Marvin probieren.

    Für weitere Informationen, können Sie diese SO Post: Was ist die beste Java-Bildverarbeitung Bibliothek / Ansatz?

    Um das Bild in Bleistiftskizze zu konvertieren, musst du 3 Filter anwenden

    1. GRAYSCALE FILTER

    2. INFORT DIE FARBEN

    3. GAUSSISCHES BLUR

    Nach erfolgreichem Anwenden dieser Filter verwenden colordodgeblend Funktion, um Bleistift wie Skizze zu machen

    Graustufenfilter

    ColorMatrix matrix = new ColorMatrix(); matrix.setSaturation(0); ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix); imgView.setColorFilter(filter); 

    CODE ZUR ANWENDUNG INVERT FILTER

     float[] colorMatrix_Negative = { -1.0f, 0, 0, 0, 255, //red 0, -1.0f, 0, 0, 255, //green 0, 0, -1.0f, 0, 255, //blue 0, 0, 0, 1.0f, 0 //alpha}; ColorMatrix colorMatrix = new ColorMatrix(); colorMatrix.set(colorMatrix_Negative); ColorFilter colorFilter_Negative = new ColorMatrixColorFilter(colorMatrix_Negative); 

    CODE FÜR GAUSSISCHES BLUR

     public static Bitmap applyGaussianBlur(Bitmap src) { double[][] GaussianBlurConfig = new double[][]{ {-1, 0, -1}, {0, 4, 0}, {-1, 0, -1} }; ConvolutionMatrix convMatrix = new ConvolutionMatrix(3); convMatrix.applyConfig(GaussianBlurConfig); convMatrix.Factor = 1; convMatrix.Offset = 150; //return out put bitmap return ConvolutionMatrix.computeConvolution3x3(src, convMatrix); } 

    Für mehr Referenz

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.