Posso ruotare foto compresse con perdita di dati che visualizzo in Visualizzatore foto di Windows senza preoccuparmi di perdere ancora più informazioni per la compressione?
Posso ruotare foto compresse con perdita di dati che visualizzo in Visualizzatore foto di Windows senza preoccuparmi di perdere ancora più informazioni per la compressione?
Risposte:
Se le dimensioni dell'immagine sono multipli di 8 (o 16 se si utilizza il sottocampionamento cromatico), le rotazioni sono senza perdita. Altrimenti non è possibile ruotare l'immagine senza ricalcolare i blocchi, ovvero ricomprimere l'immagine, che è in perdita.
La ragione di ciò è che le immagini jpeg sono suddivise in una serie di blocchi 8x8 o 16x16 che vengono compressi singolarmente. I blocchi incompleti sono consentiti solo sul bordo destro e sul bordo inferiore. Quindi la tua immagine non è un multiplo esatto di 8/16 conterrà blocchi incompleti, che finiranno sul bordo sbagliato dopo la rotazione.
Ho verificato l'asserzione sopra usando la versione di Windows Photo Viewer fornita con Windows 7. Ho usato due immagini di rumore cromatico. Un'immagine era 256x256, ovvero entrambi i formati multipli di 8. L'altra immagine era la stessa ma ritagliata a 253x253, ovvero nessuna dimensione era un multiplo di 8. Ecco le immagini:
Ho quindi eseguito quattro rotazioni in senso antiorario, chiudendo il visualizzatore di foto dopo ogni rotazione per assicurarmi che l'immagine fosse salvata nel suo stato ruotato.
Non è necessario eseguire una sottrazione per vedere la differenza con l'immagine di 253 pixel, è notevolmente più scura e più fangosa!
Un diff sull'altra immagine è simile al seguente:
cioè le immagini sono identiche, le rotazioni erano senza perdita.