Ajustando a exposição (brilho / contraste) com base no histograma usando Python

Estou tentando criar um programa com uma GUI (provavelmente usando o Kivy) em Python para corresponder à exposição de duas imagens. Quero exibir as duas imagens (RGB ou escala de cinza) lado a lado com seus histogramas correspondentes e ter um controle deslizante para poder controlar a exposição na imagem selecionada. Eu gostaria de alguns conselhos sobre como fazer isso.

Até agora, li várias postagens e parece haver várias maneiras de abordar o cálculo do histograma de uma imagem (numpy, matplotlib, openCV e PIL), mas estou confuso sobre quais seriam as melhores (menos bibliotecas / dependências para instalar) ) para eu implementar. Também li sobre como alterar a exposição em uma imagem e algumas pessoas mencionam a alteração do brilho e do contraste. Portanto, você precisa alterar os dois para alterar a exposição? Sei que o openCV tem equalizeHist, mas isso é feito automaticamente e o que eu gostaria é que ambas as imagens tenham a exposição geral o mais próxima possível; é por isso que eu estava pensando em fazê-lo manualmente. Seria ótimo se pudesse fazê-lo automaticamente, mas ainda estou pensando em como fazê-lo.

Eu sei que vocês valorizam muito o seu tempo, então entenderei se você não tiver tempo para responder isso em profundidade.

questionAnswers(2)

yourAnswerToTheQuestion