Basicamente, você precisa fazer algum pós-processamento nesta imagem.
A partir do original, o primeiro passo que realizei foi tornar a parte mais escura preta e a mais clara branca. Só isso fez uma diferença considerável, já que o ponto mais leve original era apenas (0,37, 0,34, 0,38). Em outras palavras, você estava desperdiçando mais de 60% da faixa dinâmica.
Original:
Níveis de preto e branco para toda a gama:
Em seguida, apliquei alguns aumentos de brilho não lineares. A figura abaixo mostra o que meu software chama de "proporção de log" de 1 e um valor de brilho de 0,2.
A razão de log é um mapeamento logarítmico dos valores de brilho linear assumidos originais. O problema com o mapeamento logarítmico é que não há nada a ver com o preto total, pois isso resultaria em inifinidade negativa. De uma forma ou de outra, é necessário especificar o deslocamento do preto no espaço do log, que será remapeado para preto na imagem de saída. Meu parâmetro de proporção de log faz isso especificando a proporção de quanto um pequeno incremento na extremidade inferior do intervalo é mapeado em comparação com o mesmo pequeno incremento na extremidade superior do intervalo. O parâmetro log ratio é o log 2dessa proporção. Um ajuste da razão de log de 1, portanto, causa uma curva com o dobro da inclinação na extremidade preta e na extremidade branca. Uma razão de log de cerca de 4 é mais normal, o que resulta em uma proporção de 16: 1 de declives entre as extremidades preto e branco. Não sei se você seguiu toda essa matemática, mas basicamente esse é um slarhing logarítmico bastante moderado dos valores que torna a imagem mais brilhante em geral, preservando o preto e o branco.
O fator de clareamento de .2 aplica um mapeamento não linear diferente que também preserva preto e branco, mas afeta mais as áreas escuras e as áreas claras menos do que o parâmetro de razão de log.
Enfim, aqui está o resultado:
Parei aqui porque não sei como era a cena original, e toda a amplificação de pequenas mudanças no lado escuro estava começando a causar alguma mancha. Este é um ótimo exemplo de por que você não deseja capturar imagens JPG na câmera. Como eles já estão limitados aos mesmos 256 valores por cor que você terá na imagem final, não há como aplicar mapeamentos diferentes sem perder informações. Se você começar com os valores brutos originais do sensor de 12 ou 14 bits, terá muito mais detalhes na escala de brilho, para que ainda haja 1/256 alterações depois de fazer todas as correções.