int countSort(int *array, int size) { int max = maxMin(array, size); int *countArray = new int[max]; int i=0; printArray(countArray,max); while (i<=max){ countArray[i]=0; i++; } int curr; for (curr = 0; curr < size; curr++) { countArray[array[curr]]++; } int num = 0; curr = 0; while (curr < size) { while (countArray[num] > 0) { array[curr] = num; countArray[num]--; curr++; if (curr > size) { break; } } num++; } delete countArray; printArray(array, size); return 1; }
void normalize(int **image, int row, int col, int grey_scale) { int gmax, gmin, i, j; //Recebe os valores máximos e mínimos da nova imagem. maxMin(image, &gmax, &gmin, row, col); //Cálculo da normalização: for (i = 0; i < row; i++) { for (j = 0; j < col; j++) { image[i][j] = (grey_scale*(image[i][j]-gmin))/(gmax-gmin); } } }