Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.12 KB | None | 0 0
  1. void mostrarHistograma(C_Image &imagen, int* histograma, bool ecualizado) {
  2.     int aux = 0;
  3.     int i;
  4.     int escala = 10;
  5.     int max = 0;
  6.     for (i = 1; i < 256; i++) {
  7.         if (max < histograma[i]) max = histograma[i];
  8.     }
  9.     while (512 < floor(max/escala)) escala += 1; // 512 filas
  10.     for (int i = 0; i < 256; i++) { // recorremos el histograma
  11.         for (int col = 1 + 4 * i; col <= 4 + 4 * i; col++) { // x4 --> 1024 columnas
  12.             aux = floor(histograma[i] / escala); // escalamos los valores del histograma
  13.             for (int fila = 1; fila <= aux; fila++) {
  14.                 imagen(fila, col) = 0;
  15.             }
  16.         }
  17.     }
  18.     invertirMatriz(imagen); // para que este correctamente orientado
  19.  
  20.     if (ecualizado == true) {
  21.         imagen.WriteBMP("Histograma_Ecualizado.bmp");
  22.         printf("\nSe ha creado la imagen Histograma_Ecualizado.bmp\n");
  23.         printf("El tamanio del histograma ecualizado ha sido reducido en un factor de escala: %d\n", escala);
  24.        
  25.     }
  26.     else {
  27.         imagen.WriteBMP("Histograma__No_Ecualizado.bmp");
  28.         printf("\nSe ha creado la imagen Histograma_No_Ecualizado.bmp\n");
  29.         printf("El tamanio del histograma ha sido reducido en un factor de escala: %d\n", escala);
  30.        
  31.     }
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement