A ver, voy a intentar explicarme lo mejor posible.
Quiero saber si alguien sabe si esto se hace asi, porque es un lio:
Tengo que coger una imagen en formato PGM (con el bloc de notas se pueden editar), en formato ASCII, y realizar su histograma.
El caso, es que me gustaria saber si los pasos que voy a realizar son correctos o va a sobrar codigo y se puede hacer de una forma más fácil, ya que con esto me he liado e igual no he entendido como se hace un histograma de esos.
El caso es que el archivo es asi:
P2
#Ejemplo de archivo PGM
3 5 (indica la resolucion de la imagen)
255 (indica el numero de grises)
0 (numero 1)
0
255
23
53
63
2
...
24 (numero 15)
Y claro, para realizar esto el profesor nos ha dado dos "registros":
TipoImagen: almacena el alto, ancho, numero de colores y la imagen en una matriz
TipoHistograma: amacena el numero de pixeles de la imagen y luego en una tabla de 255 elementos se van guardando cuantos pixeles hay de cada una.
Aparte hay predefinidos dos nombres de subprogramas: crearHistograma(TipoImagen pImagen, TipoHistograma pHistograma)
salvarHistograma(String pFile, TipoHistograma pHistograma)
Se supone que el histograma se tiene que salvar como un archivo PGM de 258*101 (aunque tiene que tener un marco asi: |_|, se queda en 256*100)
Asi que se me ha ocurrido:
En el de crearHistograma:
1- Recorrer la imagen por filas e ir almacenando en la tabla cuantos pixeles hay de cada color
2- Crear el histograma (es decir, la imagen de 258*101) y ahi meterle los numeros que tenga cada tono.
Pero tengo una duda: ¿como "escalo" la imágen? Es decir, si tengo 9 pixeles de un tono de gris, siendo este el máximo, en la imagen de histograma tiene que haber en su fila 100 numeros 0(negro), y el resto de tonos tiene que ir en proporcion, pero no se me ocurre como proporcionar todo.
¿Alguna sugerencia?
Gracias, hasta luego.