2012-04-25 17 views
6

utilizo pitón para guardar archivos JPEG con una calidad menorPython PIL jpeg calidad

im = Image.open(file) 
im.save(cached_file, quality=80, optimize=True, progressive=True) 

En sin embargo algunas imágenes, el tamaño del archivo de la nueva imagen es más grande que el del original, Cómo puede suceder esto? Gracias

+0

Proporcionar un ejemplo donde este sea el caso sería útil. –

Respuesta

7

¿Es posible que la imagen original se haya guardado con la calidad < 80? Entonces, ¿básicamente estás usando más espacio para guardar los artefactos de la reconstrucción?

+0

¿Hay alguna forma de determinar la calidad de la imagen original y continuar con el proceso solo si es más pequeña? – Thomas

+1

Acabo de ver la documentación de PIL - http://www.pythonware.com/library/pil/handbook/format-jpeg.htm Parece que la calidad por defecto es 75, lo que sugeriría que si lees una imagen que PIL había sido salvado sin una especificación de calidad, la situación que hipotetizó podría ocurrir. Aparentemente, cuando se lee un archivo JPEG, la calidad no se conoce. Sospecho que la única manera de saber de antemano es aprender más sobre la codificación JPEG. ¿Tal vez estaría bien si comparara el nuevo archivo guardado con el original y luego decidiera cuál conservar? – user1245262

+0

En realidad, he pensado en lo que estás sugiriendo y posiblemente lo sigas, pero pensé en preguntar si hay una manera más óptima de manejarlo. Gracias – Thomas

Cuestiones relacionadas