wavelets

Wavelets são usada para separar (ou decompor) uma imagem em um número distinto de camadas, cada uma contendo um diferente nível de detalhes. Após decompor uma imagem desta forma, um módulo pode limitar seu processamento a uma ou mais destas camadas de detalhes e, então, colocar as camadas juntas novamente ao final para formar sua saída. Isto nos permite ser cirúrgicos sobre quais características na imagem nós desejamos impactar quando trabalhamos com um módulo.

Algumas das operações que o darktable pode realizar desta forma são:

🔗teoria

Uma wavelet é uma função matemática oscilante que inicia e termina em zero. O diagrama a seguir mostra algumas wavelets simples de diferentes tamanhos.

wavelets-visão geral

Estas funções de wavelet são usadas para escanear e decompor uma imagem usando uma operação matemática chamada convolução. Isto seleciona detalhes da imagem que estão em uma escala similar ao tamanho da wavelet fornecida e constrói várias camadas de detalhes, cada uma correspondendo a uma escala de wavelet diferente.

A seguir está um exemplo onde camadas de detalhes foram extraídos da imagem acima. Neste caso, as imagens foram produzidas usando o módulo retocar, dividindo a imagem em 8 camadas diferentes e usando o botão “mostrar escala de wavelet” para visualizar cada uma das camadas de detalhes:

wavelets-interface-retocar

As barras na seção decomposição em wavelet indicam as camadas que foram extraídas em diferentes escalas de wavelet. O retângulo mais escuro da esquerda representa a imagem completa (antes da decomposição) e cada um dos retângulos em cinza representa uma das camadas decompostas. Ao clicar no ícone de escada abaixo do gráfico de barras, a sobreposição de visualização é ativada de modo que você possa ver como a camada selecionada se parece.

Vamos dar uma olhada em algumas das camadas geradas para a imagem acima.

Na escala #2, a imagem contém somente detalhes muito finos, incluindo as sobrancelhas do modelo, cílios dos olhos e poros de sua pele. Isto não inclui detalhes mais gerais da imagem, porque esses detalhes foram extraídos para outras camadas:

wavelets-camada-escala-2

Nas escalas #5 e #6, começamos a ver características cada vez maiores:

wavelets-camada-escala-5

wavelets-camada-escala-6

Na escala #8 vemos somente características mais amplas, como a forma geral do nariz, os olhos e as bochechas do modelo:

wavelets-camada-escale-8

🔗porque usar wavelets?

Suponha, no exemplo acima, que queiramos suavizar algumas manchas na pele do modelo, sem perder nada da textura subjacente em pequena escala. A decomposição wavelet torna esta operação trivial: simplesmente podemos usar o módulo de retoque para aplicar um desfoque gaussiano somente nas camadas de detalhe ‘manchadas’, deixando as demais camadas intactas. Uma vez que o ajuste esteja completo, o módulo de retoque recombina a camada ajustada com as restantes não alteradas para produzir a imagem final.

A sequência de imagens abaixo mostra (1) A imagem original; (2) a camada (escala 5) que desejamos suavizar; e (3) A imagem final após a escala 5 ter sido suavizada e as camadas recombinadas:

wavelets-original

wavelets-camada-escala-5

wavelets-camada-desfocada

Como pode ver, as manchas na pele foram em grande parte eliminadas, mas os detalhes em pequena escala permanecem intactos.

🔗interagir com escalas wavelet

Existem dois métodos pelos quais os módulos de processamento permitem que você modifique suas operações usando escalas wavelet.

🔗decomposição em wavelet

Como mencionado acima, o módulo retocar permite que você selecione em quantos níveis de detalhes sua imagem será dividida. Ele decompõe a imagem em camadas separadas e permite que você realize operações seletivamente em cada camada individual ou na imagem como um todo:

wavelets-interface-retocar

Consulte a documentação do módulo retocar para obter mais detalhes.

🔗controles com curvas-S

Os módulos redução de ruído (perfilado), redução de ruído raw e equalizador de contraste permitem que seus efeitos se apliquem mais ou menos a cada escala wavelet usando curvas-S.

curva-s

Aqui, cada nó no gráfico representa um diferente nível de detalhe na imagem, desde o mais grosseiro à esquerda ao mais fino à direita. Você pode subir ou baixar cada um destes nós com seu mouse para aumentar ou diminuir o efeito do módulo, respectivamente, na escala wavelet.

Para modificar a curva, clique ligeiramente acima ou abaixo da linha próximo a um nó para arrastá-lo para cima ou para baixo. Você pode mudar a amplitude da sua modificação girando a roda do mouse, que aumentará ou reduzirá o tamanho do círculo exibido sob o ponteiro do mouse. Um círculo pequeno indica que o efeito de arrastar a curva para cima ou para baixo será mais restrito ao nó que estiver sendo ajustado. Um círculo maior indica que o efeito será mais amplo e aumentará o impacto no nós adjacentes. Quando você passa o mouse sobre o gráfico, áreas sombreadas indicam as partes da curva-S que serão impactadas quando você tentar modificar a curva.

translations