Как установить растровые пиксели 28 * 28 из пользовательского представления android - PullRequest
0 голосов
/ 11 апреля 2020

Я пробую пользовательский вид для приложения для рисования с растровым изображением. Я хочу преобразовать полноэкранный вид в растровое изображение размером 28 * 28 пикселей, чтобы я мог передать его в модель глубокого изучения размера ввода (28,28). Я пытался, но получал только верхние 28 * 28 пикселей. Но я хочу преобразовать весь пиксель вида в растровое изображение размера модели.

    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
    bitmap = Bitmap.createBitmap(getWidth(),getHeight(), Bitmap.Config.ARGB_8888);//initializing bitmap type to stored
    bitmapCanvas = new Canvas(bitmap);
    bitmap.eraseColor(Color.WHITE);
}

Это код для получения растрового изображения.

public float[][][] getPixelData() {
    if (bitmap == null) {
        return null;
    }
    int pixelInterger;
    int width = 28;
    int height = 28;
    // Get 28x28 pixel data from bitmap
    int[] pixels = new int[width*height];
    bitmap.getPixels(pixels, 0, width, 0, 0, width, height);

    float[][][] retPixels=new float[1][width][height];
    for (int i = 0; i < retPixels[0].length; ++i) {
        for( int j=0 ; j< retPixels[0][1].length; j++){
            pixelInterger=(i*28)+j;
            int pix = pixels[pixelInterger];
            int b = pix & 0xff;
            retPixels[0][i][j] = (float)((0xff - b)/255.0);

        }
        // Set 0 for white and 255 for black pixel

    }
    return retPixels;
}
i am trying to get the 28*28 pixel data .But it get only top 28*28 pixel data.

Я хочу получить растровое изображение размером 28 * 28 пикселей, охватывающее всю информацию о пикселях вида.

...