← Guies

Treure les metadades sense perdre qualitat: per què recomprimir no és netejar

Hi ha dues maneres de treure les metadades d’una foto. Una és treure’n els blocs de dades i deixar la imatge com era. L’altra és obrir la foto, pintar-la de nou i tornar-la a desar: les metadades es perden pel camí, però la imatge també canvia. I, de vegades, ni tan sols es perden.

Per

Què és recomprimir

Un JPEG o un HEIC desen la imatge comprimida amb pèrdua: en desar-los es descarta informació que l’ull gairebé no nota. Si algú obre la foto i la torna a desar, aquesta compressió s’aplica una altra vegada sobre l’anterior, i la imatge perd una mica més. Amb una vegada gairebé no es veu; amb diverses, apareixen blocs, vores brutes i colors que se’n van.

Moltes eines treuen les metadades precisament així, perquè és el més fàcil de programar: dibuixen la foto en un llenç i la tornen a exportar. Funciona, però no surt de franc.

El que hem mesurat

Vam agafar una foto de prova de 3024 × 4032 píxels amb GPS i la vam processar de tres maneres. Els percentatges depenen de cada foto —una amb molt de detall en perd més que la nostra, que és suau—, així que el que importa és el que canvia i el que no:

  • Tornar-la a dibuixar al navegador, com fan molts webs senzills: va canviar l’1,8 % dels píxels i el fitxer va passar de 925 a 742 kB. Va treure el GPS, però va recomprimir.
  • Tornar-la a desar amb l’eina d’imatges del macOS (sips) a qualitat 85: va canviar el 16,8 % dels píxels i va conservar el GPS. Recomprimir no és netejar.
  • Amb el KillEXIF: no va canviar ni un píxel. Les dades de la imatge són les mateixes, byte a byte, i el GPS se’n va anar.
  • Deu desades seguides a qualitat 90: la diferència amb l’original va créixer a cada una. Per això importa no recomprimir: cada vegada que una foto passa per una eina així, perd una mica més.

Com saber si una eina recomprimeix

Hi ha pistes que no demanen mesurar res:

  • La mida canvia molt. Treure les metadades estalvia uns pocs kilobytes, de vegades una mica més si hi havia una miniatura. Si una foto de 3 MB surt amb 2 MB, s’ha recomprimit.
  • Et deixa triar una «qualitat» en desar. Si hi ha qualitat, hi ha compressió.
  • Canvia el format: si hi poses un HEIC i en surt un JPEG, la imatge s’ha tornat a codificar sencera.
  • Triga com si processés la imatge: treure un bloc de metadades és gairebé instantani; tornar a comprimir una foto gran, no.

El que fa el KillEXIF

El KillEXIF treu les metadades sense tocar la imatge: localitza els blocs de dades dins del fitxer, els treu i copia la resta tal qual. Després torna a llegir el fitxer net per comprovar que el que havia de marxar ha marxat, i ho diu: «Verificat: no queda res sensible». I si alguna cosa no es pot treure sense fer malbé el fitxer, ho explica en comptes de recomprimir-lo.

Per això la foto neta pesa gairebé el mateix que l’original, i per això la pots netejar tantes vegades com vulguis sense que perdi res. El mateix amb els vídeos: es treuen les metadades i el vídeo no es torna a codificar.