Recorte de JPG sin afectar la calidad

Resuelto
lenainjaune Mensajes publicados 726 Fecha de registro   Estado Colaborador Última intervención   -  
contrariness Mensajes publicados 17905 Fecha de registro   Estado Miembro Última intervención   -
Hola a todos,

Acabo de empezar la pesada tarea de escanear fotos de familia en papel. He escaneado en formato JPG, 2 fotos a la vez desde un escáner, separándolas.

He probado 2 automatizaciones para extraer las fotos:
- plugin DivideScannedImages de François Malan: da pocos resultados a umbral constante (creo que se debe a la heterogeneidad de las ambientaciones de mis fotos), muchos falsos positivos
- script multicrop ImageMagick de Fred Weinhaus: extrae el 95% de imágenes buenas... sin hacer nada en particular (curiosamente, las fotos en error sufrieron una rotación, aunque estaban en horizontal)

Por ello he utilizado el script IM multicrop y para extraer las fotos en fallo uso TheGimp.

Desde TheGimp, tras exportar a JPG, he notado que algunas fotos pesan más de 1MB. Entonces miré de cerca los ajustes:
- Calidad: 90%
- No progresivo (sin dithering)
- Submuestreo: 4-2-2 horizontal (la doc da 2x1,1x1,1x1 - factor idéntico al del escaneo original)

Por ejemplo para un escaneo de 1,1MB:
- IM multicrop: foto1=435KB, foto2=449KB (zooms idénticos en sensación)
- TheGimp export JPG: foto1=624KB, foto2=1,4MB (> ¡escaneo original! )

Voy a tener muchos escaneos que procesar y necesito ajustar el problema para perder la menor cantidad de espacio posible.

Desde TheGimp, ¿qué ajuste aplicar para obtener la misma calidad que el escaneo original sin “inflar” innecesariamente el archivo exportado?

Entorno:
- ImageMagick v6.6.9
- Gimp v2.8.20

Si alguien puede aclararlo, sería genial :)

Cordialmente,
lnj

Configuración: Ubuntu 12.04

Tengo preguntas a todas vuestras respuestas. (Woody Allen)

6 respuestas

  1. kaumune Mensajes publicados 22605 Fecha de registro   Estado Colaborador Última intervención   5 159
     
    Hola

    Escaneamos en tif, hacemos las modificaciones y guardamos (una sola vez) en jpeg

    --
    0
    1. lenainjaune Mensajes publicados 726 Fecha de registro   Estado Colaborador Última intervención   62
       
      Bonjour,

      Alors je n'ai pas le scanner sous la main, mais il me semble que seules les options JPEG et PDF étaient proposées.

      Et puis quand bien même ça ne change pas ma question.
      0
    2. lenainjaune Mensajes publicados 726 Fecha de registro   Estado Colaborador Última intervención   62
       
      Re-

      Entonces entendí que para hacerlo correctamente tendría que escanear en formato TIFF, que es sin pérdidas (lossless). No sabía que el formato TIFF servía para eso, pero no estoy seguro de que el multifunción RICOH lo permitiera.

      Me gustaría saber si entiendo bien lo que sucede en la cadena de procesamiento.

      Según lo que devolvió la herramienta identify de IM (ver la respuesta que hice a contrariness), el escáner me ha producido archivos comprimidos al 51% (=> ¿pérdidas del 51%?) y como exporto desde TheGimp con un nivel de compresión del 90% (valor por defecto), los archivos son enormes.

      Si entiendo bien:
      - el escáner captó y creó una imagen en crudo y la convirtió a JPG con una calidad del 51% (por lo tanto, hay muchas pérdidas, ya que el formato JPEG no es sin pérdidas)
      - al abrir la imagen, descomprime la imagen al 51%, se recupera una imagen de tamaño comparable a la imagen cruda creada por el escáner (una especie de imagen bitmap me parece a mí), pero obviamente sin todos los detalles de la imagen cruda inicial (lo que la compresión ha perdido)
      - hago mi recorte y quiero exportar, en el mejor de los casos conservo el mismo nivel de detalle al guardar, pero creo que el hecho de volver a comprimir al 51% da aproximadamente el mismo nivel de detalle que el producido por el escáner (en resumen, no hay demasiadas pérdidas más que durante la 1ª compresión), por otro lado es inútil comprimir a más del 51%

      ¿Sería eso?
      0
  2. contrariness Mensajes publicados 17905 Fecha de registro   Estado Miembro Última intervención   6 244
     
    En compresión JPG no es tanto el tamaño de la foto lo que influencia el peso, sino su contenido.. (aparte de la tasa de compresión, por supuesto)

    Cuanto más colores distintos posee una imagen, mayor será el peso (para un mismo tamaño de imagen).

    En la exportación desde Gimp, ¿habéis hecho una cancelación tras aislar la primera imagen para hacer la segunda, o habéis partido de la imagen base para recortarla?

    Escanear varias imágenes a la vez, efectivamente es más rápido, pero va en detrimento de la calidad. El escáner va a hacer una media de colores, lo que puede favorecer a algunas en detrimento de otras... (a menos que se pueda desactivar los automatismos... y tener un modo manual neutro)
    0
    1. lenainjaune Mensajes publicados 726 Fecha de registro   Estado Colaborador Última intervención   62
       
      Hola, En la exportación hice: 1) abrir la imagen, 2) delimitar la 1ª foto con una selección, 3) copiar, 4) pegar como nueva imagen, 5) exportar JPG de esta nueva imagen, 6) cerrar la imagen, 7) delimitar la 2ª foto, ... pero no pasé por Deshacer. ¿Para qué? De hecho, soy consciente de que no es buena idea escanear 2 a 2, pero estaba apurado y eso me simplificó las maniobras. Además, he tomado una resolución de escaneo de 600x600 px, lo que da un nivel de detalle aceptable (al menos para mis ojos). Además, como me señaló kaumune, no he aplicado, a priori, la mejor forma para quedarme limpio (TIFF -> .... -> JPG). No tengo el modelo exacto del escáner en mente (un multifunción RICOH) pero al mirar diferentes modelos en la red, las especificaciones indican que los formatos PDF, JPG y TIFF son soportados. Así que intentaré aplicar esto para los próximos escaneos. Lo que no entiendo es por qué IM no agranda los archivos JPG “recortados” como lo hace TheGimp. De ahí mi pregunta... [edición] quería decir la resolución de escaneo 600x600 ppp[/edición]
      0
    2. contrariness Mensajes publicados 17905 Fecha de registro   Estado Miembro Última intervención   6 244
       
      me pregunto si no habrá un fallo en Gimp que conserve la caché de la primera imagen al añadirla durante la segunda operación de copiar/pegar..

      Intenta cerrando la imagen base antes de hacer la manipulación.

      No uso Gimp, pero ¿no sería posible recortar la imagen antes de guardarla en lugar de hacer un copiar/pegar de una selección?

      Otra cosa.. verifica que vuestras dos imágenes, prácticamente del mismo tamaño, estén en la misma resolución.
      0
    3. lenainjaune Mensajes publicados 726 Fecha de registro   Estado Colaborador Última intervención   62
       
      Intenté cerrar la imagen (creando un archivo de proyecto con guías para tener las mismas bases), usando la herramienta Recortar y luego la herramienta seleccionar/copiar/pegar => las exportaciones tienen aproximadamente el mismo tamaño que las que obtenía con mi método del principio. No creo que haya un fallo así; me inclinaría más por mi desconocimiento del software. Ahora, en un ejemplo concreto: Mi escaneo es de 1,2 MB, el script IM multicrop extrae 2 fotos P1: 543 KB y P2: 492 KB, pero como P2 no está recta, abro el escaneo, recorto y exporto (calidad: 90% como recuerdo) => P2': 1,3 MB (aprox. 3xP2) => P1+P2 ≈ 1,2 MB pero P2' ≈ 3xP2 => WTF!!!! Mirando la ayuda de multicrop no hay noción de calidad => IM sabe recortar sin tocar la calidad pero TheGimp ??? ----- No entiendo el último comentario: > Otra cosa... verifiquen que sus 2 imágenes prácticamente del mismo tamaño están en la misma resolución. Los copiar/pegar en TheGimp no cambian la resolución. Las fotos de cada escaneo tienen la misma resolución 600x600 ppp (ajuste global) pero no necesariamente tienen las mismas dimensiones (l×h). ¿Podrían precisar de qué imágenes hablan (empiezo a tener yogurt en lugar de cerebro :) )?
      0
  3. contrariness Mensajes publicados 17905 Fecha de registro   Estado Miembro Última intervención   6 244
     
    No conozco Gimp, pero si comparo con Photoshop, copiar/pegar en un nuevo documento toma la resolución y el tamaño de la imagen que está en el portapapeles. En cambio, pegar en un documento ya abierto toma la resolución de ese documento (que puede ser diferente de la que se está pegando).

    Si una imagen modificada en Gimp aumenta de peso después de la modificación, es porque hay uno o varios parámetros que modifican la imagen.

    En los parámetros tienes la resolución, la compresión, el número de bits por color y el espacio colorimétrico.

    Abre tus 2 imágenes, la que resulta del script y la que se modifica en Gimp, y mira las informaciones de la imagen... seguramente habrá diferencias.
    0
    1. lenainjaune Mensajes publicados 726 Fecha de registro   Estado Colaborador Última intervención   62
       
      Lo había hecho desde TheGimp pero no vi nada muy concluyente.

      Por eso, busqué y encontré la herramienta identify de IM para obtener más información sobre una imagen (identify -verbose). Aquí está el resultado del diff entre las infos del recorte automático por script y las del export de TheGimp.

      Al final:
      < Quality: 51
      ---
      > Quality: 90

      indica que la foto recortada por script tendría una calidad del 51% y que la exportada desde TheGimp tendría la calidad que le di al momento de la exportación, es decir 90%.

      Al indagar un poco, noté que las infos del escaneo indican bien una calidad del 51% también. Esto significaría que el escáner produciría escaneos JPG con una calidad del 51% (lo cual me parece muy bajo).

      Por lo tanto probé una exportación de la foto con una calidad de 51. La imagen mide 505KB

      Comparé un zoom de la foto en el escaneo con un zoom de la exportada; parecería que son sensiblemente idénticos, al menos a simple vista.

      Sin embargo, en la doc TheGimp se indica que este factor de compresión no significa necesariamente lo mismo entre una aplicación y otra.

      Así que ahí me parece ya un poco más pertinente!
      0
  4. contrariness Mensajes publicados 17905 Fecha de registro   Estado Miembro Última intervención   6 244
     
    En la compresión de un JPG hay 2 parámetros que influyen en el propio archivo.
    - La tasa de compresión (que afecta la calidad de la imagen)
    - El ratio de compresión que es el % obtenido en función de los datos contenidos en la imagen. Por ejemplo, si tienes una imagen compuesta por un rectángulo negro en una superficie blanca, podrías obtener un ratio que alcance el 2 o 3% del tamaño del archivo original... Porque la compresión se realizará solo sobre 2 colores y no sobre un conjunto de tonos de gris o colores.
    0
    1. lenainjaune Mensajes publicados 726 Fecha de registro   Estado Colaborador Última intervención   62
       
      Más o menos entendí eso. En cualquier caso, exportar a JPG desde TheGimp con la calidad del 51% (revelada por la herramienta identify de IM) da aproximadamente los mismos archivos que los que produjo el script multicrop de IM.
      0
    2. Luke1 Mensajes publicados 18751 Fecha de registro   Estado Colaborador Última intervención   5 435
       
      Buenas noches Contrariness,
      No conozco Gimp, pero si lo comparo con Photoshop, pegar/copiar en un nuevo documento toma la resolución y el tamaño de la imagen en el portapapeles. Por otro lado, pegar en un documento ya abierto toma la resolución de este (que puede ser diferente de la que se está pegando).

      Tu comparación es buena, los dos funcionan de la misma manera, al menos a este nivel...

      Buenas noches y que tengas un buen día. ;)

      Luke.
      0
  5. lenainjaune Mensajes publicados 726 Fecha de registro   Estado Colaborador Última intervención   62
     
    Entonces el problema está resuelto.

    Gracias a kaumune y contrariness por su ayuda ;)

    El método a preferir es como indica kaumune:
    - si es posible, escanear en formato TIFF (formato pesado, sin pérdidas)
    - hacer todas las modificaciones necesarias
    - exportar en formato JPEG (más ligero, con pérdidas)

    Para aquellos que cometieron el error como yo de escanear en formato JPEG, aquí
    lo que sucede si entiendo bien (el dibujo es una creación original y personal).



    Atención:
    1) es una vista MUY simplificada
    2) no soy experto en el tema (ni mucho menos), es como lo he entendido a través de varias lecturas y así lo concibo, pero puedo estar equivocado. ¡Así que no tomen esto como “dinero en efectivo”, sean vigilantes y críticos!

    La pregunta es, por lo tanto, conocer la calidad que el escáner utilizó para producir el archivo JPEG.

    Se puede obtener gracias al comando identify de ImageMagick (software libre). Aquí está el comando identify (en Linux):
    $ identify -verbose mi_scan.jpg | grep Quality

    > Calidad: 51

    En TheGimp para exportar a JPEG, hay 3 ajustes que aplicar para perder la menor cantidad de información posible: la calidad, si la visualización de la imagen está entrelazada = progresiva (acelera la carga de imágenes en una página web) y el submuestreo. Aquí está la ventana de exportación JPEG para TheGimp v2.8.20):



    Se pueden obtener estos ajustes gracias al comando identify:
    $ identify -verbose mi_scan.jpg | egrep "Interlace:|Quality:|jpeg:sampling-factor:"

    > Interlace: None
    > Quality: 51
    > jpeg:sampling-factor: 2x1,1x1,1x1

    Nota1: en la documentación de TheGimp se especifica que la calidad es un factor que no es idéntico de un software a otro

    Nota2: también en la doc 2x1,1x1,1x1 se presenta ya sea como 4:2:2 horizontal, ya sea 4:2:2 vertical; probé horizontal y me va bien

    Al final, se obtiene una imagen de un tamaño de archivo en relación con el del escaneo original.

    Mi pequeña experiencia reciente me mostró que este método producía resultados aceptables (al menos para mí). ¡A ustedes les dirá si les conviene!

    Voila, ahí voy :)

    Tengo preguntas a todas sus respuestas. (Woody Allen)
    0
    1. lenainjaune Mensajes publicados 726 Fecha de registro   Estado Colaborador Última intervención   62
       
      He podido volver a acceder al escáner.

      Con frecuencia, el formato TIFF solo es posible para imágenes en blanco y negro. Desafortunadamente, ese es el caso para este escáner (RICOH SP C250SF). La documentación es clara al respecto (http://support.ricoh.com/bb_v1oi/html/oi/re/model/spc250sf/spc250sfen.htm

      Por lo tanto, en todos los casos tomé la mejor calidad que podía entregar este dispositivo (JPEG 600x600 ppp).
      0
  6. contrariness Mensajes publicados 17905 Fecha de registro   Estado Miembro Última intervención   6 244
     
    ¿Pasa por el driver Twain para escanear sus documentos?
    En ese caso, debe tener la opción de la resolución y del formato de guardado...
    0