Berechnen Sie das Histogramm mit OpenMP

Ich möchte diesen Code parallelisieren, um die beste Leistung zu erzielen. "Histogramm" speichert die Anzahl der Erscheinungsbilder einer bestimmten Farbe (es gibt 10 verschiedene Farben, daher beträgt die Größe des Histogramms 10). "img" ist ein Array, das eine bestimmte Bildinformation speichert. In jedem Index von img ist eine Farbe gespeichert (int-Wert, Bereich 0..9). Dies ist der Code:

for( i=0; i<N1; i++ ){
  for( j=0; j<N2; j++ ){
    histogram[ img[i][j] ]  = histogram[ img[i][j] ] + 1;
  }
}

Ich habe es versucht, aber die Leistung ist so schlecht (schlechter als die serielle Ausführung):

#pragma omp parallel for schedule(static, N1/nthreads) private(i,j)
for(i=0; i<N1; i++){
  for(j=0; j<N2; j++)
  {
    #pragma omp atomic
    histogram[img[i][j]]++;
  }
}

Irgendwelche Vorschläge? Danke.