Skip to content

Instantly share code, notes, and snippets.

@softworkz
Created September 24, 2021 23:08
Show Gist options
  • Save softworkz/deef5c2a43d3d629c3e17f9e21544a8f to your computer and use it in GitHub Desktop.
Save softworkz/deef5c2a43d3d629c3e17f9e21544a8f to your computer and use it in GitHub Desktop.
Color Palette Quantization in Photoshop

Here's an example regarding the image color quantization I've been talking about.

This is an original subtitle bitmap having a palette of 4 or 5 colors:

@softworkz
Copy link
Author

softworkz commented Sep 25, 2021

Palettized via palettegen and palleteuse (8 colors max):

paltest3

Palettized via Photoshop (8 colors max):

image

Palettized via palettegen and palleteuse after adding alpha support (8 colors max):

image

via elbg with the new alpha patch

image

via palettegen and palleteuse (8 colors max): - 200% magnified

image

Palettized via Photoshop max):: - 200% magnified

image

via palettegen and palleteuse after adding alpha support (8 colors max): - 200% magnified

image

via elbg with the new alpha patch

image

@softworkz
Copy link
Author

Rainbow Ring

Original (from 32bpp PNG)

fate-suite\apng\o_sample.png

Original

o_sample1

400%

image

All following images are zoomed to 400% and taken as screenshots from Photoshop

Photoshop (to 8-bit alpha palette)

image

PngQuant (to 8-bit alpha palette)

image

Paletteuse/gen Regular (to 8-bit non-alpha palette; only single transparent color)

ffmpeg -y -loglevel verbose -i "fate-suite\apng\o_sample.png" -filter_complex "split[split1][split2];[split1]palettegen=max_colors=255:use_alpha=1[pal1];[split2][pal1]paletteuse=use_alpha=1" -frames:v 1 out.png

image

Paletteuse/gen New Alpha-Patch (to 8-bit alpha palette)

ffmpeg -y -loglevel verbose -i "fate-suite\apng\o_sample.png" -filter_complex "split[split1][split2];[split1]palettegen=max_colors=255[pal1];[split2][pal1]paletteuse" -frames:v 1 out.png

image

@softworkz
Copy link
Author

ELBG Filter (to 8-bit alpha palette)

ffmpeg -y -loglevel verbose -i "..\fate-suite\apng\o_sample.png" -filter_complex "elbg=pal8=1" -frames:v 1 out.png

image

ELBG with new Alpha-Patch (to 8-bit alpha palette)

ffmpeg -y -loglevel verbose -i "..\fate-suite\apng\o_sample.png" -filter_complex "elbg=pal8=1:use_alpha=1" -frames:v 1 out.png

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment