Como reduzir e comprimir imagens (e a história da Lena)
Um recente post de um membro do grupo do Facebook Pplware@Windows, pedindo dicas sobre a melhor forma de reduzir o tamanho de um ficheiro de imagem, serviu de inspiração para abordar este tema num artigo.
As dicas e os temas deste artigo são, evidentemente, simplificadas para uma utilização corrente. Não vamos (pelo menos agora!) falar de formatos mais sofisticados, espaços de cor, suporte de camadas, ficheiros tipo RAW, etc. Vamos mostrar como reduzir e comprimir imagens (e conheça também a história da Lena).
Antes de começarmos é importante referir que para muitas das dicas indicadas não há apenas uma forma correta de obter o mesmo resultado. Mas o objetivo deste artigo é simples: identificar a melhor forma de reduzir o tamanho de um ficheiro de imagem sem perder (muita) qualidade, através de diferentes técnicas. Ah, e é verdade: e também vamos falar da Lena.
Fotos, ficheiros e formatos
Os ficheiros que nos interessam no contexto deste artigo são sobretudo o JPEG, o PNG e o GIF – de resto, os mais comuns nas páginas Web e os que são suportados diretamente por qualquer browser moderno (e pelo Microsoft Paint!) sem necessidade de plugins. Mas antes de irmos ao que interessa, um pouco de background.
JPEG
O JPEG, iniciais do grupo profissional que definiu em 1992 a norma técnica do formato, o Joint Photographic Experts Group, é o formato de ficheiro de imagem mais usado no mundo digital. Foi criado a pensar especificamente na compressão de imagens fotográficas e é um formato de compressão com perdas. Ou seja, ao contrário do que acontece com uma compressão tipo ZIP, em o ficheiro é aberto é exatamente o mesmo que tínhamos antes da compressão, o JPEG funciona com algoritmos que descartam parte da informação original, a qual nunca mais será recuperada – tal como acontece com a compressão MP3 no caso do áudio.
Com rácios de compressão moderados, o JPEG consegue manter uma boa fidelidade da imagem original. Contudo, a partir de um determinado nível, é visível a criação de “artefactos de compressão” e a qualidade da imagem começa a degradar-se de forma significativa. Isto é mais visível em imagens não fotográficas e em áreas da imagem de cor homogénea – o céu, por exemplo. Uma vez mais, o paralelo com o MP3 é total – quanto maior a compressão, maior a perda de qualidade da música, a qual é especialmente sensível em determinadas frequências.
PNG
Há imagens que exibem artefactos JPEG bastante evidentes, como é o caso de texto sobre fundos homogéneos. Para estas, o ideal é usar outro tipo de ficheiro, como o PNG, cujas técnicas de compressão não criam este tipo de artefactos.
GIF
O GIF, cuja principal forma de compressão de imagem reside da redução da palete de cores usada, para um máximo de 256, é também útil para desenhos simples, a preto e branco e com poucas cores – e para imagens animadas, claro, mas essas são contas de outro rosário…!
Como poupar espaço com compressão JPEG
Em determinadas circunstâncias, podemos ter necessidade de reduzir o tamanho de um ficheiro de imagem, quer seja para a sua transmissão (via e-mail, por exemplo) ou armazenamento. As duas principais formas de conseguirmos isto é através da compressão (mantendo o tamanho) ou da redução do tamanho da imagem – ou ambos em simultâneo.
Os exemplos neste tutorial utilizam o utilitário gratuito Paint.net que, ao contrário do que acontece com o Paint que vem incluído no Windows, permite definir o nível de compressão JPEG. Além disso, este programa também suporta outros formatos avançados através de plugins gratuitos, como o PSD (formato nativo do Photoshop) e o JPEG2000, por exemplo.
A gravação em PNG desta aplicação funciona também com ficheiros de 8, 24 ou 32 bits – neste último caso, com suporte para canal de transparência.
Vamos começar por um exemplo extremo. Uma foto do Porto de grandes dimensões (4868x3452), disponível através da Wikipedia e que tem, no original, 6,65 MB em formato JPEG.
Só a título de curiosidade, se regravarmos esta imagem em formato TIFF, ela passa a ter mais de 20 MB! – o tamanho exato depende do tipo de compressão TIFF usado, sendo que o TIFF pode usar compressão sem perdas, com os algoritmos LZW e ZIP.
Sendo uma típica fotografia – isto é, não se trata de uma ilustração ou desenho – é a imagem ideal para ser gravada em JPEG. A imagem original tem uma qualidade bastante boa e poucos artefactos JPEG, pelo que vale a pena tentar reduzir-lhe o tamanho regravando-a em JPEG com maior compressão.
Neste caso, vamos regravá-la com a definição de qualidade do Paint.net em 85% (diferentes editores de imagem utilizam rácios de compressão ligeiramente diferentes, pelo que 85% aqui pode não dar os mesmos resultados que 85% noutro editor de imagem).
O resultado é uma imagem de qualidade praticamente indistinguível da original (ver detalhe da cúpula do monumento) mas com menos de metade do tamanho: 2,6 MB.
Podemos tentar a nossa sorte e reduzir a qualidade um pouco mais. No entanto, para assegurarmos resultados consistentes e evitar degradar demasiado a qualidade, devemos voltar a usar a imagem original e não a que já comprimimos. Usando o Paint.net com a definição de qualidade a 70% continua a dar um resultado de boa qualidade e o tamanho do ficheiro passou para apenas 1,76 MB – quase 4 vezes menos que o original.
Com compressão um pouco mais elevada vão começar a notar-se artefactos de compressão e os ganhos na redução de tamanho do ficheiro serão menos notórios. Este é o resultado da compressão com 50% de qualidade. Não só não ganhamos assim tanto (o ficheiro fica com 1,32 MB) mas a qualidade começa a degradar-se e é notório no céu e na transição entre o monumento e o fundo azul, por exemplo, quando observamos a imagem ampliada a 100%.
Continuar no caminho da compressão só agrava o problema – qualidade a 25% dá-nos um ficheiro com cerca de 1 MB mas com imensos problema de qualidade.
Num segunda parte deste tutorial vamos ensinar a poupar espaço com a redução do tamanho do ficheiro... e claro a história da Lena (ou Lenna), também conhecida como “The First Lady of the Internet”.
Este artigo tem mais de um ano
O melhor algoritmo de compressão é o do pied piper…
weissman test de 5.2
Nota: Referência à serie “Silicon Valley”.
Aconselho este site/plugin. Faz compressões extraordinárias.
https://tinypng.com/
Em PNG por exemplo, apesar de ser lossy, vale a pena.
Esse é de facto um problema importante em muitos sites. Eu costumo usar o RIOT, antes de colocar as imagens online, onde outro optimizador verifica e optimiza só mesmo em caso de necessidade.
Boas dicas. Mas agora fiquei curioso com isso da Lena… 😛
Pois, também eu. Vamos ter que esperar pelos próximos episódios e esperar que contem nesta temporada.
Compressão a mais e deixou de estar visível….
Boas Jorge,
Brincando um pouco, eu diria que você não tirou eng informática. É que quem o fez de certeza que na cadeira em que lidou com algoritmos de compressão de dados, inclusive imagens, teve que levar com a moça do chapéu… aliás, cheguei a detestar a moça, de tanto olhar para ela sem obter o resultado que queria lol
Cumprimentos
Eu fotos tiro em 2 formatos em simultãneo, RAW + JPEG. Guardo ambos em discos externos + NAS com RAID 6 e verifico sempre no fim se a cópia foi bem sucedida.
Depois disso e se for para usar as imagens na internet, etc, utilizo o resize da foto feito a uma cópia da foto em jpeg. Se precisar de melhorar a foto, utilizo o Camera Raw do Bridge (Photoshop), feito normalmente numa cópia do ficheiro RAW. Nunca abro as fotos originais, só as cópias 🙂 (ao copiar as fotos dos cartões para o PC, depois copio do PC para o NAS e para o disco externo e passo ter ter disponível no pc de fotos que posso utilizar.
O RAW, como certamente vão ter oportunidade de referir, é eterno! Nunca perde qualidade, ao contrário do jpeg.
Outra coisa que faço, cada vez que tiro as fotos dos cartões, guardo numa pasta com o seguinte nome: DVD xxx 2017 09 15 – Corrida de motos + corrida de carros + ……
Dou um nome de DVD, apesar de por vezes conter 30 Giga de espaço 🙂
E começo a numeração em 001, 002….. etc
Dessa forma tenho sempre as pastas mais antigas em cima e as mais recentes em baixo. E já sigo esta numeração à 12 anos!!!!!!!
Adoro quando as pessoas são assim bem organizadas! Eu também tenho um método de arquivo parecido ao teu, tudo organizado por pastas com os nomes bem escritos. às vezes vejo certas pessoas com tudo tão desorganizado e fora do lugar que me pergunto como é que conseguem encontrar seja o que for! Parabéns!
Os meus arquivos de fotografias estão organizados por dois critérios.
Primeiro as pastas principais por nome do equipamento utilizado (importante por dar logo a qualidade das fotos). Dentro dessas pastas, por pastas para cada mês: formato ano-mês, aaaa-mm.
Finalmente, os duplicados por temas, por exemplo: pessoas, eventos importantes, viagens muito consultadas, etc. Neztas pastas estão apenas as melhores e/ou as mais documentativas das fotos, numa selecção temática pronta a utilizar no futuro (dispensam a pesca no arquivo histórico geral).