Guia de compressão de imagem

Ferramentas necessárias:
pingo: https://css-ig.net/pingo (windows, funciona com wine no linux)
Image Magick : https://imagemagick.org/ (cross-platform)
(opcional) Alacritty: https://github.com/alacritty/alacritty (cross-platform)

Temas a abordar:
– Formatos de imagem (com compressão)
– Formatos de cor
– Introdução às ferramentas

Formatos de imagem
– png (lossless)
– jpg (lossy)
– webp (lossy/lossless)

Para escolher o formato em que se irá guardar a imagem tem de se ter em conta o seu uso e o limite de armazenamento. Por exemplo, webp oferece compressões superiores a png e jpg, mas é menos compatível.

Formatos de cor:
– RGB32
– RGB24
– Gray RGB (Grayscale)
– YUV444
– YUV420
– Y (Grayscale)

RGB
RGB é o formato usado em compressão sem perdas (lossless). A diferença entre RGB24 e RGB32 é o suporte de transparência. A não ser que haja transparência, RGB24 deve ser usado, dado que será menor.

Gray RGB é apenas o formato RGB para imagens grayscale, convertam as vossas imagens para grayscale dado que diminui o tamnho final do arquivo (isto se não forem imagens coloridas, obviamente).

YUV
YUV, ou YCbCr, é um formato de cor que divide a imagem em três planos diferentes, um para a Luma (Y) [brilho] e dois para o Chroma (U,V/Cb,Cr) [cor]. YUV444 é equivalente a RGB24, mas tende a ser mais eficiente.

YUV faz subsampling do Chroma, como podem ver neste exemplo:


Basicamente, YUV420 reduz imensamente o tamanho do ficheiro devido ao chroma subsampling, que basicamente faz downscale dos planos do Chroma para metade. Se usarem o avisynth e fizerem ExtractU(), irão notar que a imagem é 2x menor.

Tenham em atenção: embora que para um utilizador comum seja quase impossível de distinguir a diferença entre YUV420 e YUV444 (eu não noto), no final do dia existe perda de detalhe e por isso só é suportado por jpg e webp lossy. No fundo, YUV420 é uma boa maneira de comprimir imagens coloridas para o produto final quando existem limitações de tamanho.

Y é apenas o Luma, ou seja, é grayscale. Convertam sempre para Grayscale quando não houver cor, a diferença pode ser gigante. Um exemplo em que converter de YUV444 para RGB Grayscale resultou em grandes poupanças de armazenamento: https://nyaa.si/view/1406405 Nota:Y é apenas suportado por jpg e lossy webp.

Introdução às ferramentas

Image Magick
Este programa tem uma vasta seleção de ferramentas para vários cenários diferentes, mas vou apenas explicar como usar para converter imagens. É usado no terminal/consola e acima disponibilizei um link para descarregar o Alacritty, um terminal cross-platform bastante rápido (mas não tão rápido quanto o kitty).

Sintaxe = magick ferramenta -parâmetro opção -format png -path outputfolder/ inputfolder/*.jpg

ferramenta = o image magick tem imensas ferramentas, para conversão de espaço de cor, usa-se o mogrify

-parâmetro = o parâmetro da ferramenta, neste caso do mogrify

opção = opções dos parâmetros

format = o formato em que será guardado

-path = as pastas de saída e entrada, respetivamente, utilizando barras para separar as pastas, como no linux. Portanto, em vez de C:\Users\Pictures\, terá de ser C:/Users/Pictures/

*.jpg = vai determinar que todos os ficheiros com a extensão jpg serão modificados pelo programa, troquem jpg pela extensão desejada dos ficheiros de entrada

Se eu quiser converter todos os ficheiros .jpg de uma pasta para .png, convertendo-os para grayscale, faço:

magick mogrify -graysacle Rec709Luma -format png -path ~/Manga/RAW/Sailor_Moon_Repack/vol_01/ ~/Bloated_Manga/Sailor_Moon/vol_01/.*jpg

Vocês vão querer converter todas as imagens no formato jpg para png antes de abrir no photoshop, visto que o photoshop tem uma má conversão de YUV para RGB. E vão certamente precisar de a imagem for webp, dado que o photoshop não o suporta.

Pingo
O pingo é o melhor otimizador de imagens que conheço e tal como o Image Magick, é usado no terminal/consola.

Sintaxe: pingo -s6 folder diretório

s = nível de otimização, varia entre 1 e 9 (9 é melhor, mas mais demorado)

folder = otimiza ficheiros dentro de subpastas, para não o fazer basta não adicinarem este comando

diretório = substituam com o diretório onde se localizam as imagens que querem otimizar(edited)

Assim chega ao fim do guia, qualquer dúvida podem colocar no servidor do discord, assim como alguma sugestão.

Leave a Reply

Your email address will not be published.