Histograma Equalization Color - neoneper/ClassProg3D1 GitHub Wiki
EQUALIZAÇÃO EM IMAGENS COLORIDAS:
Em imagens coloridas, geralmente executamos a equalização usando o espaço de cor HSV. Podemos querer equalizar dois aspectos. A saturação (S) e o brilho (V). Tenha em mente que equalizar cada canal RGB individualmente geraria uma imagem com cores diferentes da original, mas para propósitos de experimentos esta biblioteca permite trabalhar com Equalização RGB e HSV.
Inicializando objeto que me permite trabalhar com convolução, histogramas e efeitos
BufferedImageOperation imageOperation = new BufferedImageOperation();
Carregando imagens para equalizar
BufferedImage lara = imageOperation.LoadImage("lara.png");
//Equalizando e gerando novas imagens equalizadas
BufferedImage out_lara_brit = imageOperation.Equalize(lara, BufferedImageEqualizeType.BRIGHTNESS);
BufferedImage out_lara_sat = imageOperation.Equalize(lara, BufferedImageEqualizeType.SATURATION);
//Experiência equalizando HSV e RGB
BufferedImage out_lara_rgb = imageOperation.EqualizeRGB(lara);
BufferedImage out_lara_hsv = imageOperation.EqualizeHSV(lara);
//Salvando imagens equalizadas
imageOperation.SaveImage(out_lara_brit,"jpg","out_lara_brit.jpg");
imageOperation.SaveImage(out_lara_sat,"jpg","out_lara_sat.jpg");
imageOperation.SaveImage(out_lara_rgb,"jpg","out_lara_rgb.jpg");
imageOperation.SaveImage(out_lara_hsv,"jpg","out_lara_hsv.jpg");
O resultado é o seguinte:
Testes realizados com outra Imagem