Come trovare la qualità JPG?


16

Quando salvo un file JPG con GIMP, posso regolare la qualità in cui lo salvo, da 0 a 100 (utilizzo 89). Sembra che io abbia usato un'app per vedere quale fosse questo numero sul file salvato, ma se lo facessi non posso per la vita di me capire cosa fosse. Qualche suggerimento su cosa usare?


2
Solo per assicurarsi che sia noto: l'impostazione della qualità di diverse applicazioni non è comparabile, in generale: faqs.org/faqs/jpeg-faq/part1/section-5.html . Sia GIMP che ImageMagick dovrebbero usare la scala di qualità IJG.
Michael Schumacher,

Risposte:


22

Una volta salvato, non puoi più dirne la qualità.

(L'impostazione della qualità durante il salvataggio indica semplicemente al software quanta perdita trovi accettabile, ma una volta salvata: ciò che è perso è perso. Avresti bisogno di un essere umano per dire se qualcosa sembra carino.)

Hmmm, immagino di aver sbagliato. Penso ancora che quanto sopra è corretto, ma ImageMagick s' identifymi dimostra che non va?

identifica -verbose myimage.jpg

Immagine: myimage.jpg
  Formato: JPEG (formato JFIF di Joint Photographic Experts Group)
  Classe: DirectClass
  Geometria: 358x240 + 0 + 0
  Risoluzione: 300x300
  [...]
  Compressione: JPEG
  Qualità: 90
  Orientamento: non definito
  [...]

Non so come sia stata salvata l'immagine nel mio test, ma non ha dati EXIF. La qualità potrebbe ancora essere memorizzata nell'immagine?


Non puoi sperimentare la conversione in qualità diverse? Trovo difficile da credere, a meno che ImageMagick non memorizzi alcuni dati privati ​​nel jpg (quindi questo potrebbe non funzionare con altri pacchetti).
harrymc,

Interessante. Aspetterò di vedere come funziona.
Nathaniel,

1
+1 Sì imagemagick funziona. Posso cambiare ripetutamente la qualità jpeg e usare identifica per vedere il cambiamento. Funziona se uso convert (untility imagemagick) o un altro strumento come MS Photo Editor.
DaveParillo,

1
ImageMagick sta facendo qualcosa di diverso. Fornisce una stima, anziché leggere ciò che ha fatto il software originale. La tua risposta originale, ora barrata, è davvero più corretta. Vedi la risposta di @ sleske.
mattdm,

26

Per aggiungere alla risposta di Arjan:

ImageMagick identifysembra effettivamente guardare all'interno dell'immagine JPEG per indovinare le impostazioni di qualità utilizzate per codificarlo.

Il codice sorgente di ImageMagick (esultare per il software gratuito :-)) contiene le righe :

/*
  Determine the JPEG compression quality from the quantization tables.
*/
sum=0;
for (i=0; i < NUM_QUANT_TBLS; i++)
{
  if (jpeg_info.quant_tbl_ptrs[i] != NULL)
    for (j=0; j < DCTSIZE2; j++)
      sum+=jpeg_info.quant_tbl_ptrs[i]->quantval[j];

( coders/jpeg.c, riga 843ff. nella mia recente versione del codice sorgente di ImageMagick).

Non so abbastanza di JPEG per capire davvero, ma sembra fare qualcosa come descritto in questo articolo:

Determina il fattore di qualità JPEG utilizzando Visual C # .NET (link non funzionante a partire da gennaio 2018; copia su archive.org dal 2015 )

Quindi sì, identifypuò effettivamente determinare l'impostazione della qualità di un JPEG solo dal solo file compresso (anche se il risultato potrebbe non essere sempre del tutto accurato).


1
Whoa. Molto gentile da parte tua controllare il codice sorgente. Freddo.
Nathaniel,

@Nathaniel, puoi per favore selezionare questa risposta come accettata, anziché mia? Grazie! (Non posso cancellare il mio finché è accettato.)
Arjan

Sta cercando la tabella di quantizzazione JPEG che meglio spiega l'aspetto del bitstream compresso.
jbarlow,

5

Come accennato da Arjan identify -verbose myimage.jpglo farà. Poiché imagemagick è uno strumento CLI, può essere utile per gli script. L'approccio identify -verbose myimage.jpg | grep ...è preety lento. Consiglio di usare IM in questo modo

identify -format '%Q' myimage.jpg

È enormemente più veloce.


2

JPEGsnoop è una bella alternativa a ImageMagick identify. Il download è piuttosto piccolo ed è disponibile in formato portatile.

Dopo aver elaborato un jpg, troverai il "Fattore di qualità approssimativa" sotto il marcatore DQT.



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.