0

我正在尝试用java制作一个ROC程序。我的问题是,当我想标准化时(通过使用像素矩阵的方法来更改字母的大小)。我的字母以像素框为中心。我的代码不起作用。我找不到问题。

谢谢您的帮助。

public static int[][] normalisation(int[][] data, int largeur, int hauteur){
    int [][] data2 = new int[data.length][data[0].length];
    for (int x = 0; x < data.length ; x++) {
        for (int y = 0; y < data[0].length ; y++) {
            data2[x][y]=255;
        }
    }      

    int a=0;
    int b=0;
    boolean bool = false;
    for (int i=0 ; i< data2.length-1; i++){
        for(int j=0 ; j < data2[0].length-1 ; j++){
            if(data[i][j]==0 && bool == false){
                a=i;
                bool=true;
            }
        }
    }
    for (int i=0 ; i< data2.length-1; i++){
        for(int j=0 ; j < data2[0].length-1 ; j++){
            if(data[j][i]==0 && bool == true){
                b=j;
                bool=false;
            }
        }
    }

    for (int i=a ; i< data2.length+a-1; i++){
        for(int j=b ; j < data2[0].length+b-1 ; j++){
            //System.out.println("i"+i +" j"+j +" (i*hauteur)/128: " + (i*hauteur)/128 + " (j*largeur)/128 :" + (j*largeur)/128 + " hauteur: " + hauteur + " largeur: " + largeur);                 if ( data[((i+1)*hauteur)/128][((j+1)*largeur)/128] == 0){
            data2[i-a][j-b]= data[((i+1)*hauteur)/data[0].length][((j+1)*largeur)/data.length];

        }
    }


    return data2;
}
4

0 回答 0