我正在尝试用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;
}