Histograma Equalization Color - neoneper/ClassProg3D1 GitHub Wiki

EQUALIZAÇÃO EM IMAGENS COLORIDAS:

Ver o Script deste Desafio

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:

LaraCroft

Testes realizados com outra Imagem

LaraCroft