Tras comprobar que más de uno, yo incluido, tenía curiosidad por saber de dónde salían las Dimensiones en píxeles expresadas en Bytes que nos da Photoshop en su cuadro de diálogo Tamaño de imagen, decidí coger la calculadora y hacer cuatro comprobaciones. Estos son los resultados.
El tamaño digital de una imagen lo podemos expresar en píxeles o en Bytes, pero ambas medidas están estrechamente ligadas. El tamaño o peso informático (Bytes) de la imagen depende del número de píxeles y de la profundidad de color (bits) empleada para definirlos. Por lo tanto, como lo hacemos para pasar de píxeles a Bytes?
Antes que nada debemos saber el número total de píxeles que tiene la imagen y por eso sólo hace falta que multipliquemos la anchura por la altura en píxeles. El ejemplo de la figura A corresponde a una imagen de 12 Megapíxeles (MP) en color (RGB) y con 8 bits de profundidad de color por cada canal. En este caso el número total de píxeles sería: 4.288 x 2.848 = 12.212.224 píxeles.
Por otra parte, si tenemos en cuenta que la imagen en color del ejemplo tiene una profundidad de color de 8 bits por canal, disponemos de 8 bits por cada canal (RGB) para definir cada píxel. Por lo tanto: 8 bits x 3 canales = 24 bits / píxel. A continuación tenemos que multiplicarlo por el número total de píxeles: 24 bits / píxel x 12.212.224 píxeles = 293.093.376 bits, que son los empleados para definir toda la imagen.
Ahora sólo nos queda pasar de bits a Bytes teniendo en cuenta que 1 Byte = 8 bits. Así: 293.093.376 bits / 8 = 36.636.672 Bytes. En el cuadro de diálogo de la figura A la unidad ha sido convertida en megabytes (MB) por más comodidad: 36.636.672 Bytes / 1.024 = 35.778 kilobytes (KB); 35.778 kilobytes / 1.024 = 34,94 megabytes (MB). De aquí que Dimensiones en píxeles: 34,9 MB.
figura A
Si la imagen hubiera tenido una profundidad de color de 16 bits por canal bastaría con repetir los cálculos sustituyendo 16 bits en cada lugar donde hemos utilizado 8 bits. O si la imagen hubiera sido en color (CMYK) deberíamos multiplicar los bits de profundidad de color por 4 canales en lugar de 3. Mientras que si hubiera sido en escala de grises sólo deberíamos multiplicarlos por un solo canal.
Hay que aclarar, sin embargo, que esta medida de la imagen no corresponde exactamente con el tamaño en disco, ya que esta última depende del formato que elijamos para guardar el archivo y del tipo de compresión o no que este aplique. Por lo tanto las dimensiones en píxeles medidas en Bytes nos da un dato objetivo del peso de la imagen sin estar supeditada al formato de almacenamiento de la misma.
También podemos ver el peso del archivo en la parte inferior izquierda de la ventana del documento abierto con Photoshop, si pulsamos el triángulo pequeño que hay y seleccionamos Tamaños de archivo. Entonces nos salen dos valores separados por una barra (/). El valor de la izquierda es lo que hemos explicado de donde salía en este artículo, y es bastante similar al espacio en disco que ocupará si Acoplamos la imagen y la guardamos en formato PSD. Y el de la derecha tiene en cuenta, además, el espacio extra necesario para guardar todas las capas y canales que contiene el archivo. Por último, si volviendo a pulsar el mismo triángulo pequeño seleccionamos Tamaños virtuales, el valor que saldrá será el de memoria RAM y de disco virtual que utiliza Photoshop por tener abierta la imagen para procesarla.
Hola,
Si para para 16 bits de profundidad de color sibstituimos por 16 donde pone 8, al final es como si multiplicáramos por 3 canales para color y por 1 para BN.
es decir, que para cualquier profundidad de color tendríamos: Tamaño de archivo = Nº Pixeles x PC x Nº Canales/Nº de Canales o bien, que Tamaño de archivo = Nº Pixeles x Nº Canales.
Te agradecería explicaras el cálculo para 16 bits.
Saludos.
El concepto es el siguiente:
El tamaño de imagen depende del número total de píxeles de la imagen y el «grado de precisión» de que disponemos para definir cada píxel.
El número total de píxeles es tan fácil de calcular como multiplicar la anchura x la altura en píxels de la imagen.
El «grado de precisión» depende de el número de canales utilizados (BN=1, RGB=3 i CMYK=4) i el número de bits utilizados por canal (profundidad de color).
Con todo esto tenemos que -> tamaño de image = Anchura (px) X Altura (px) X nº canales X nº de bits por canal.
El càlculo de 16 bits en BN sería: An X Al X 1 X 16
El càlculo de 16 bits en RGB sería: An X Al X 3 X 16
El càlculo de 16 bits en CMYK sería: An X Al X 4 X 16
Espero haberte solucionado tus dudas.
Hola Eduard, si, muchas gracias.
Una vez tengo ese resultado, para pasarlo a MB tendría que dividir por 8 para pasar a Bytes y luego dividir por 1024 x 1024, para pasar a a KB y a MB. ¿Es así?
Gracias de nuevo.
Efectivamente npaaron, sólo faltarían estos pasos que comentas para pasar el resultado de bits a MegaBytes.
Un saludo!
Perfecto gracias Eduard. Saludos.
por q una misma imagen en JEPG y en pdf tienen tanta diferencia de peso (mb)? gracias
Sus cálculos son correctos si consideramos que un píxel tiene 8 bits de profundidad que se multiplican por tres, para R,G,B.
Pero no entiendo de donde sale el 1024. Las variaciones de 2 elementos son 2 elevado a la 8 potencia= 256.
256 por cada canal, en RGB serian 256×3=768 faltan 256 para tener los 1024.( nº que utiliza Ud. después)
El Pixel tiene pues 4 elementos no 3. R,G,B y cual es el cuarto que forma el pixel’?
Es un autentico lio no perder de vista los conceptos. He encontrado en otros escritos de internet, disparates mayúsculos.
Hola Marta,
El 1.024 sale de la conversión de Bytes –> Kilobytes –> Megabytes… etc
1 Kilobytes = 1.024 Bytes
1 Megabyte = 1.024 Kilobytes
…etc
Saludos!
Vaya, veo que Guillem se me ha avanzado en la respuesta 😉
Saludos!
Hemos capturado una imagen que tiene una resolución de 2600 px de ancho y 1400 px de alto.
Calcula lo que ocuparia la imagen si es en byte , en gris y color.
Si la cámara tiene una tarjeta sd de 32 bytes .
Calcula que cantidad de fotos de cada tipo cogen en la tarjeta.