Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void mostrarHistograma(C_Image &imagen, int* histograma, bool ecualizado) {
- int aux = 0;
- int i;
- int escala = 10;
- int max = 0;
- for (i = 1; i < 256; i++) {
- if (max < histograma[i]) max = histograma[i];
- }
- while (512 < floor(max/escala)) escala += 1; // 512 filas
- for (int i = 0; i < 256; i++) { // recorremos el histograma
- for (int col = 1 + 4 * i; col <= 4 + 4 * i; col++) { // x4 --> 1024 columnas
- aux = floor(histograma[i] / escala); // escalamos los valores del histograma
- for (int fila = 1; fila <= aux; fila++) {
- imagen(fila, col) = 0;
- }
- }
- }
- invertirMatriz(imagen); // para que este correctamente orientado
- if (ecualizado == true) {
- imagen.WriteBMP("Histograma_Ecualizado.bmp");
- printf("\nSe ha creado la imagen Histograma_Ecualizado.bmp\n");
- printf("El tamanio del histograma ecualizado ha sido reducido en un factor de escala: %d\n", escala);
- }
- else {
- imagen.WriteBMP("Histograma__No_Ecualizado.bmp");
- printf("\nSe ha creado la imagen Histograma_No_Ecualizado.bmp\n");
- printf("El tamanio del histograma ha sido reducido en un factor de escala: %d\n", escala);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement