normalize_MaxMin(data_all, 65536, 255); //进行0~255的最大最小归一化 int max_position(float* a, int len_a) { //计算最小值所在的位置 int position = 0; float max_y = -65535; //初始化一个最大值 for (int i = 0; i < len_a; i++) { if (a[i] > max_y) { max_y = a[i]; position = i; } } return position; }
int min_position(float* a, int len_a) { //计算最小值所在的位置 int position = 0; float min_y = 65535; //初始化一个最大值 for (int i = 0; i < len_a; i++) { if (a[i] < min_y) { min_y = a[i]; position = i; } } return position; } void normalize_MaxMin(float* x, int len_x, int multiple) { //最大最小归一化到0~multiple; float max_x = x[max_position(x, len_x)]; float min_x = x[min_position(x, len_x)]; for (int i = 0; i < len_x; i++) { x[i] = ((float)(x[i] - min_x) / (float)(max_x - min_x))*multiple; } } //一维矩阵转二维矩阵 for (int p = 0; p < 256; p++) { for (int q = 0; q < 256; q++) { data_C2[q][p] = data_C[p * 256 + q]; } }