-
Notifications
You must be signed in to change notification settings - Fork 1
Histograma Equalization
Julio Pereira edited this page Mar 31, 2018
·
2 revisions
Muitas vezes uma imagem apresenta baixíssimo contraste, isso gera um histograma concentrado. Como os tons de cores são próximos fica realmente difícil enxergar a imagem, podemos redistribuir os tons de cor através de um processo chamado equalização do histograma.
Vamos Equalizar diversas imagens utilizando a biblioteca e ver o resultado final:
Inicializando objeto que me permite trabalhar com convolução, histogramas e efeitos:
BufferedImageOperation imageOperation = new BufferedImageOperation();
Carregando imagens para equalizar:
BufferedImage montanha = imageOperation.LoadImage("montanha.jpg");
BufferedImage car = imageOperation.LoadImage("car.jpg");
BufferedImage cars = imageOperation.LoadImage("cars.jpg");
BufferedImage crowd = imageOperation.LoadImage("crowd.jpg");
BufferedImage university = imageOperation.LoadImage("university.jpg");
Equalizando e gerando novas imagens equalizadas
BufferedImage out_montanha = imageOperation.Equalize(montanha, BufferedImageEqualizeType.GRAYSCALE);
BufferedImage out_cars = imageOperation.Equalize(cars, BufferedImageEqualizeType.GRAYSCALE);
BufferedImage out_car = imageOperation.Equalize(car, BufferedImageEqualizeType.GRAYSCALE);
BufferedImage out_crowd = imageOperation.Equalize(crowd, BufferedImageEqualizeType.GRAYSCALE);
BufferedImage out_university = imageOperation.Equalize(university, BufferedImageEqualizeType.GRAYSCALE);
Salvando imagens equalizadas
imageOperation.SaveImage(out_montanha,"jpg","out_montanha.jpg");
imageOperation.SaveImage(out_car,"jpg","out_car.jpg");
imageOperation.SaveImage(out_cars,"jpg","out_cars.jpg");
imageOperation.SaveImage(out_crowd,"jpg","out_crowd.jpg");
imageOperation.SaveImage(out_university,"jpg","out_university.jpg");
O Resultado Final é este: