Estoy desarrollando una aplicación de edición de imágenes para Android. Para esto necesito convertir mi imagen a un boceto a lápiz.Cómo convertir mapa de bits a lápiz en Android?
Puede ayudarme en esto.
Estoy desarrollando una aplicación de edición de imágenes para Android. Para esto necesito convertir mi imagen a un boceto a lápiz.Cómo convertir mapa de bits a lápiz en Android?
Puede ayudarme en esto.
Necesita una biblioteca de procesamiento de imágenes para hacerlo.
Puede intentar ImageJ o Marvin.
Para obtener más información, puede consultar este SO mensaje: What is the best java image processing library/approach?
para convertir la imagen a dibujo a lápiz es necesario aplicar 3 filtros
GRAYSCALE FILTRO
INVERTIR LOS COLORES
GAUSSIAN BLUR
después de aplicar con éxito estos filtros utilizan la función colordodgeblend para hacer el lápiz como el boceto
escala de grises filtro
ColorMatrix matrix = new ColorMatrix();
matrix.setSaturation(0);
ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix);
imgView.setColorFilter(filter);
CÓDIGO DE APLICAR INVERTIR FILTRO
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);
CÓDIGO DE desenfoque gaussiano
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);
}