jsummers / imageworsener

A utility for processing PNG, JPEG, BMP, and WebP images. Features include resize/resample, dither, grayscale, apply background color, subpixel rendering.
https://entropymine.com/imageworsener/
Other
251 stars 30 forks source link

Add Color Quantization Method #2

Open RyanBram opened 11 years ago

RyanBram commented 11 years ago

Currently ImageWorsener has the most complete dithering method available than another image processing application. But ImageWorsener currently lack of color quantizer method that can be used in conjunction with dither. Some of available color quantizer that I know are:

Please implement at least one of them (Dennis Lee or Pairwise Nearest Neigbour) to make dithering method in ImageWorsener more effective.

For source code, I recommend you for looking at MtPaint repository as it was the project that I was aware implemented those algortihm very well.

mtpaint screenshot

Regards,

RyanBram

jsummers commented 10 years ago

I'm not really opposed to palette optimization features, but I'm afraid I have no plans to try to implement them in the near future.

Some concerns: (1) It requires an architectural change that will increase memory usage or code complexity. I want to do that anyway, for other reasons, but as of now there's no clean way add such a feature. (2) There are many different ways to do color reduction, so such a feature would never truly be finished. (3) Dithering to an optimized palette requires different algorithms than the ones IW uses now, and I'm not sure I know how to do it. (4) I don't know how well it would interact with other features. It might not be too hard to do if it were limited to, say, no more than 256 colors selected from the 24-bit truecolor sRGB palette. But IW's other features don't have such limitations.