darktable page lede image
darktable page lede image

Mesclagem

3.2.5. Mesclagem

3.2.5.1. Visão geral

Por default um módulo obtém sua entrada do módulo anterior, realiza seus cálculos, e entrega a saída para o próximo módulo na pipeline. Precisando, você pode ativar um passo adicional onde a saída de um módulo é reprocessada com sua entrada antes de entregar o resultado ao próximo módulo. Este processamento adicional é chamado de mesclagem. Entrada e saída podem ser processadas por diferentes algoritmos chamados de operadores ou modos de mesclagem.

Múltiplas versões dos operadores de mescalgem existem e são específicas para imagens com ou sem interpolação cromática ou espaços de cor em que trabalham. Dependendo do módulo um ou múltiplas versões estarão disponíveis no menu de mesclagem.

Cada modo de mesclagem é controlado por um parâmetro chamado opacidade, que pode ter um valor entre 0% e 100%, e define como as imagens de entrada e saída contribuem para o resultado final. Tipicamente, um valor de 0% dá um resultado que é idêntico ao da imagem de entrada - o módulo fica sem efeito. Uma opacidade de 100% dá o máximo de efeito do módulo com o modo de mesclagem escolhido.

O valor da opacidade pode ser o mesmo para todos os pixels. Neste caso a mesclagem age uniformemente na imagem. Alternativamente, você pode fazer a opacidade variar em diferentes locais da imagem ou diferentes valores de pixel. Isto é chamado de máscara, e dá controle mais fino sobre quais partes e quanto da imagem são afetadas por um módulo. Você pode escolher ativar uma máscara desenhada, paramétrica ou uma combinação das duas.

3.2.5.2. Uso

Módulos com suporte a mesclagem exibem uma linha adicional com os diferentes modos de mesclagem na parte inferior de suas interfaces.
mesclar

Mesclagem é ativada clicando em um dos botões. Dependendo do modo selecionado, elementos de controle adicionais aparecerão.

desligado

a saída do módulo é passada ao próximo módulo na pipeline sem reprocessamento adicional. Nenhum controle adicional é mostrado.

uniformemente

o reprocessamento acontece com o modo de mesclagem e valor de opacidade escolhidos - o mesmo para todos os pixels. Controles adicionais para selecionar o modo de mesclagem e opacidade são mostrados. O modo de mesclagem default é normal com opacidade de 100%.

máscara desenhada

o reprocessamento ocorre com o modo de mesclagem e opacidade escolhidos. Controles adicionais são mostrados, que permitem desenhar uma máscara. Se nenhum elemento de máscara é desenhado, todos os pixels terão a mesma opacidade, definida pelo deslizador de opacidade. Se você desenhar um elemento de máscara, por exemplo um círculo, a área interna do círculo terá opacidade máxima, rodeada por uma área de transição ou borda, com decaimento gradual da opacidade e o resto da imagem terá opacidade 0%. Diferentes formas podem ser usadas. Veja Seção 3.2.5.5, “Máscara desenhada” para mais detalhes.

máscara paramétrica

o reprocessamento acontece com o modo de mesclagem e opacidade escolhidos. Controles adicionais são mostrados, que permitem ajustar a opacidade de acordo com o valor de cada pixel. Em versões anteriores do darktable este modo era chamado de mesclagem condicional. Veja Seção 3.2.5.6, “máscaras paramétricas” para mais detalhes.

máscara desenhada e paramétrica

esta opção combina as máscaras desenhada e paramétrica e mostra o conjunto completo dos controles de ambas. Veja Seção 3.2.5.8, “Combinando máscaras desenhadas e paramétricas” para aprender como usar melhor esta combinação.

máscaras matriciais

esta opção reusa uma máscara criada em outro módulo usando máscara paramétrica, possivelmente combinada com máscara desenhada. Veja Seção 3.2.5.7, “Máscara matricial (raster)” para mais detalhes.

menu mesclagem

este item provê acesso às versões de mesclagem para o módulo e opções adicionais específicas para a operação de mesclagem.

3.2.5.3. Exemplos

Texturizando uma imagem

O módulo de marca d'água suporta arquivos SVG com imagens embutidas que podem ser usadas como fonte de textura. Os operadores de mesclagem então permitem controlar quanto da textura é expressada.

Detalhes nítidos
Quando operadores de mesclagem foram introduzidos no darktable, um novo módulo chamado passa altas (veja Seção 3.4.3.12, “Passa-altas”) também foi adicionado. Ele provê um filtro passa-altas para imagens que pode ser implicitamente usado na mesclagem, e é usado para produzir imagens com mais detalhes, sendo um método amplamente usado em fluxos de trabalho de outros softwares de processamento de imagens.

Esta é a imagem original, após processamento pesado: primeiro monocromático, depois uma divisão de tons em azul, mas como é possível ver, a imagem tem poucos detalhes e parece um pouco fora de foco...

Aqui aplicamos o filtro passa-altas com os valores mostrados acima. Você pode ver que os detalhes agora foram muito incrementados e temos uma imagem realmente detalhada.

3.2.5.4. Operadores de mesclagem

Há diversos modos de mesclagem implementados e mais podem ser adicionados no futuro. Por enquanto todos os mais comumente usados estão incluídos e você reconhecerá alguns deles de outros softwares de processamento de imagens. Uma boa introdução a muitos modos comuns de mesclagem é dada no manual do GIMP (Capítulo 8.2, Layer Modes)

modos de mesclagem
normal

Este será provavelmente o modo de mesclagem mais usado. Ele simplesmente mistura entrada e saída e, dependendo do valor da opacidade, reduz a força do efeito do módulo. De maneira geral, este também é o modo de mesclagem a escolher se você quer aplicar o efeito de um módulo usando máscaras.

normal limitado

Este modo de mesclagem age de maneira similar ao modo de mesclagem normal, exceto que os dados de entrada e saída são limitados a uma faixa particular de valores máximo/mínimo. Valores fora da faixa são efetivamente bloqueados e não passam para os próximos módulos. Algumas vezes isto ajuda a prevenir artefatos. No entanto, na maioria dos casos (por exemplo, realces extremos com alta saturação de cores) é melhor deixar valores ilimitados trafegarem pela pipeline para lidar apropriadamente com eles nos lugares certos (por exemplo, no módulo output color profile). O modo de mesclagem normal é quase sempre a escolha de preferência.

luminosidade

Este modo de mesclagem mistura luminosidade das imagens de entrada e saída. Dados de cor (croma e matiz) da imagem de entrada permanecem inalterados.

croma

Este modo de mesclagem mistura croma (saturação) das imagens de entrada e saída. Luminosidade e matiz da imagem de entrada permanecem inalterados.

matiz

Este modo de mesclagem mistura matiz (tonalidade de cores) das imagens de entrada e saída. Luminosidade e croma da imagem de entrada permanecem inalterados. Cuidado: quando módulos modificam drasticamente a matiz (por exemplo, gerando cores complementares) este modo de mesclagem pode resultar em forte ruído de cor.

cor

Este modo de mesclagem mistura cor (croma e matiz) das imagens de entrada e saída. A luminosidade da imagem de entrada permanece inalterada. Cuidado: quando módulos modificam drasticamente a matiz (por exemplo, gerando cores complementares) este modo de mesclagem pode resultar em forte ruído de cor.

luminosidade Lab

Somente disponível em módulos que trabalham no espaço de cor Lab; este modo de mesclagem mistura luminosidade da entrada e da saída, enquanto dados de cor da imagem de entrada permanecem inalterados. Em contraste com o modo de mesclagem luminosidade o trabalho neste modo não envolve qualquer conversão de espaços de cor e não estreita dados. Em alguns casos isto pode ser menos suscetível a artefatos comparando com o modo luminosidade.

cor Lab

Este modo de mesclagem mistura cor (croma e matiz) das imagens de entrada e saída, deixando inalteraada a luminosidade da imagem de entrada. Se comparado com o modo de mesclagem cor, o trabalho neste modo de mesclagem não envolve qualquer conversão de espaços de cor e não estreita dados. Em alguns casos isto pode ser menos suscetível a artefatos comparando com o modo cor.

luminosidade HSV

Somente disponível para módulos que trabalham no espaço de cor RGB; este modo de mesclagem mistura luminosidade das imagens de entrada e saída, deixando os dados de cor (croma e matiz) da imagem de entrada inalterados. Se comparado com o modo de mesclagem luminosidade, este modo não envolve estreitamento.

cor HSV

Somente disponível para módulos que trabalham no espaço de cor RGB; este modo de mesclagem mistura cor das imagens de entrada e saída, deixando a luminosidade da imagem de entrada inalterada. Se comparado com o modo de mesclagem cor, este modo não envolve estreitamento de dados.

ajuste de cor

Alguns módulos agem predominantemente nos valores tonais de uma imagem, mas também fazem alguns ajustes de saturação de cor -- por exemplo, os módulos níveis e curva de tons. O modo de mesclagem de ajuste de cor toma a luminosidade somente da saída, e mistura as cores da entrada e da saída, permitindo controle do ajuste de cor do módulo.

pivô de mesclagem (blend fulcrum)

Este parâmetro adicional está disponível para alguns operadores de mesclagem na versão de mesclagem RGB relativa à cena. Ele permite adaptar o efeito do operador aplicado. O efeito depende do operador.

3.2.5.5. Máscara desenhada

Desenhar uma máscara representa a abordagem mais simples para limitar o efeito de um módulo darktable a uma área específica na imagem tratada.

Visão geral

Com a funcionalidade de máscara desenhada, você pode construir uma máscara desenhando-a diretamente em uma imagem base. Diferentes operadores de desenho, chamados formas, estão disponíveis e podem ser usados isoladamente ou em combinação. Uma funcionalidade flexível de edição permite que você altere o aspecto, remova ou importe formas já definidas em outros módulos.

Internamente as formas são guardadas como gráficos vetoriais e renderizadas com a resolução necessária durante o processamento do pipeline. Formas são expressadas no sistema de coordenadas da imagem original e transformadas com os módulos de distorção. Assim, uma forma sempre funcionará em uma mesma área da imagem, mesmo que deformações ou outras modificações tenham sido aplicadas.

Uso
Para desenhar uma forma você precisa clicar em um dos símbolos de forma. Você vai automaticamente ser enviado ao modo de edição em que pode gerar uma nova instância da forma selecionada e depois mudar suas propriedades. Além disso, Ctrl+clique em qualquer forma (exceto a forma de caminho) entra o modo contínuo de criação. Este modo é útil quando múltiplas formas serão criadas. Um Clique-direito deixará o modo contínuo de criação.

Você sai do modo de edição clicando no símbolo , podendo voltar ao modo de edição quando quiser e fazer mais ajustes clicando no mesmo símbolo novamente. No modo de edição você também pode remover uma forma clicando nela com o botão direito - a forma é removida da máscara corrente, mas ainda estará na lista de formas definidas.

Independente da forma específica você sempre pode usar scroll para mudar o tipo da forma, Shift-scroll para mudar o enevoamento da forma, e ctrl+scroll para mudar a opacidade da forma.

Se você usar Ctrl-clique no símbolo de modo de edição, entrará no modo restrito de edição. Certas ações, como arrastar uma forma completa ou mudar seu tamanho ficam bloqueadas. Somente ajustes finos como arrastar um nó são permitidos.

Atualmente cinco formas estão implementadas

pincel

Clicar no símbolo adiciona uma pincelada à imagem.

Comece desenhando com clique-esquerdo na tela e mantenha o botão pressionado enquanto move o mouse. Quando soltar o botão a linha feita pelo pincel é terminada. O tamanho, dureza e opacidade do pincel podem ser modificados usando Scroll, Shift-scroll, e Ctrl-scroll, respectivamente, depois de começar a desenhar ou em qualquer momento durante a operação. Da mesma forma, você pode usar as teclas [ | ] para diminuir/aumentar o tamanho do pincel, { | } para diminuir/aumentar a dureza, e < | > para diminuir/aumentar a opacidade.

Se você tem um tablet gráfico com senstitividade de pressão de caneta, o darktable pode aplicar a pressão aplicada na caneta a alguns atributos da pincelada. Veja Seção 8.4, “Sala escura” para mais detalhes.

Quando você suspender a caneta do tablet ou soltar o botão esquerdo do mouse, a figura é convertida em um número de nós conectados que definem uma forma. Uma opção de configuração (veja Seção 8.4, “Sala escura”) controla quanto de suavização é aplicada. Um nível mai salgo de suavização leva a menos nós - isto facilita edições subsequentes, com o custo de uma menor acurácia inicial.

Nós e segmentos de uma pincelada podem ser modificados individualmente. Veja a documentação sobre caminhos adiante para mais detalhes.

Renderizar uma forma complexa com pincel pode consumir uma quantidade significativa de ciclos de CPU; considere reverter para círculo, elipse, ou caminho se possível.

Uma forma criada com a ferramenta poncel, com controles e display da máscara ativado.
círculo

Clicar no símbolo adiciona uma forma de círculo.

Clique na tela para posicionar o círculo. Clique-esquerdo e arraste o círculo para levá-lo a uma posição diferente se necessário. Use a roda do mouse enquanto dentro do círculo para mudar o diâmetro; role na borda do círculo par ajustar a largura do decaimento gradual ou Shift-scroll em qualquer lugar da forma para o mesmo efeito. Com Ctrl-scroll você pode ajustar a opacidade do círculo - isto é melhor observado com a máscara mostrada após pressionar o botão ."

Uma forma de círculo com controles e display da máscara ativado.
elipse

Clicar no símbolo adiciona uma forma de elipse.

O princípio geral é o mesmo que para a forma de círculo. Adicionalmente, você tem quatro nós na linha da elipse. Clique nos nós para ajustar a excentricidade da elipse. Ctrl-clique neles para rotacionar a elipse, ou, alternativamente, use Shift-Ctrl-Scroll. Shift-clique na forma alterna o decaimento gradual entre os modos equidistante e proporcional.

Uma forma de elipse com controles e display da máscara ativado.
caminho

Clicar no símbolo adiciona uma forma definida por um caminho fechado escolhido pelo usuário.

Clique-esquerdo na tela para definir nós do caminho; termine o caminho com clique-direito depois de ter determinado o último ponto. Por default os nós são conectados por linhas suaves. Se quiser que um nó defina um ângulo, pode fazê-lo criando-o com Ctrl-clique.

No modo de edição você pode converter nós existentes de suaves para ângulos e vice-versa com Ctrl-clique neles. Você pode inserir nós adicionais com Ctrl-clique em um dos segmentos da linha. Nós individuais podem ser removidos usando Clique-direito sobre eles; certifique-se de que o ponteiro do mouse está sobre o nó desejado e que o nó está destacado, de outra forma você pode acidentalmente remover todo o caminho.

O tamanho da forma completa pode ser modificado com scroll - de forma análoga ao círculo. O mesmo vale para a largura da borda, ou seja, a área com decaimento gradual de opacidade, que pode ser modificada com Shift-scroll a partir de qualquer lugar da forma. Nós isolados, assim como segmentos de caminho, podem ser movidos com arrastar do mouse. Se um nó é selecionado com clique, um novo ponto de controle surge - você pode movê-lo para modificar a curvatura da linha e reiniciar para o default com Clique-direito. Arrastar um dos pontos de controle na borda ajusta a largura da borda somente naquela parte da forma.

Considere fazer ajustes finos ao caminho no modo de edição restrita (veja acima), que permite ajustar nós isolados e segmentos sem o risco de acidentalmente mover ou mudar o tamanho de toda a forma.

Um caminho com controles e display da máscara ativado.
gradiente

Clicar no símbolo adiciona um gradiente à máscara. Isto não gera uma forma confinada, mas produz um gradiente linear estendendo por toda a imagem.

Clique na tela para definir a posição da linha onde a opacidade fica em 50%. Esta linha tem dois nós âncora que você pode arrastar para mudar a rotação do gradiente.

Scroll perto da linha do centro curva o gradiente

Usar o scroll perto da linha do centro muda a inclinação do gradiente. Linhas pontilhadas indicam a distância além da qual a opacidade é 100% e 0%, respectivamente. Entre estas linhas pontilhadas a opacidade muda linearmente. O gradiente é melhor visualizado e modificado quando a máscara é mostrada ao pressionar o botão .

Dependendo do módulo e da imagem, usar um gradiente pode produzir artefatos de banda. Você deveria considerar ativar o dithering (veja Seção 3.4.1.1, “Dithering”).

Um gradiente com controles e máscara sendo mostrada.
máscara desenhada

O número de formas que são usadas na máscara atual é mostrado no campo máscara desenhada. Clicar nesse campo abre uma caixa com todas as formas que já foram definidas no contexto da imagem corrente, mas não foram ainda usadas na máscara atual. Você pode clicar em qualquer um desses itens para adicioná-lo à máscara atual. A lista também contém formas geradas em algum momento mas não mais em uso. Assim você pode até mesmo recuperar uma forma que tenha sido removida.

Um botão de polaridade ( e , respectivamente) permite ao usuário alternar entre o estado normal e invertido da máscara desenhada, ou seja, a opacidade dos valores fica invertida - 100% se torna 0% e vice-versa. Você precisa dessa funcionalidade quando combinando máscaras desenhadas e paramétricas (veja Seção 3.2.5.8, “Combinando máscaras desenhadas e paramétricas”).

inverter máscara

Quando máscara desenhada é selecionada há uma combobox adicional para inverter a máscara, alternando a inversão entre ligada e desligada.

gerenciador de máscaras

Mais funcionalidade para controlar a interação de múltiplas formas em uma máscara podem ser encontradas no painel de gerenciamento de máscaras (veja Seção 3.3.7, “Gerenciamento de máscaras”). Aqui você pode dar nomes individuais para suas formas, que ajudarão a manter registro e localizá-las. Você também pode selecionar formas individuais para edição - uma funcionalidade útil se suas máscaras contém várias formas com controles que se sobrepõem.

3.2.5.6. máscaras paramétricas

A funcionalidade paramétrica, antes chamada de mesclagem condicional, oferece controle de ajuste fino seletivo sobre como pixels individuais são mesclados. Isto é feito gerando automaticamente uma máscara de mesclagem a partir dos parâmetros do usuário. Estes parâmetros são coordenadas de cor, e não as coordenadas geométricas das máscaras desenhadas.

A máscara paramétrica é uma ferramenta poderosa com um certo grau de complexidade.

Visão geral

Para cada canal de dados de um módulo (Lab, RGB), e adicionalmente pra muitos canais virtuais de dados (por exemplo matiz, saturação), usuários podem construir uma função de opacidade por canal. Dependendo do valor do pixel para este canal de dados, esta função determina um fator de mesclagem entre 0 e 1 (ou 100%) para aquele pixel.

Cada pixel de uma imagem tem diferentes fatores de mesclagem para seus canais de dados (real ou virtual). Todos os fatores de mesclagem são finalmente multiplicados, pixel por pixel, junto com o valor de opacidade global configurado no deslizador (veja Seção 3.2.5.4, “Operadores de mesclagem”) para formar a máscara de mesclagem da imagem.

Se, para um dado pixel, a máscara de mesclagem tem valor 0, a entrada do módulo tem seu valor inalterado. Se, para o pixel, a máscara de mesclagem tem seu valor máximo de 1 (ou 100%), o módulo tem efeito completo.

Uso

Quando máscara paramétrica está ativada na combobox mesclar um conjunto adicional de controles com abas é mostrado.

Abas de canal

Cada aba seleciona um canal de dados - real ou virtual. A mesclagem realizada no no espaço de cores Lab tem canais L, a, b, C (croma de LCh) e h (matiz de LCh). A mesclagem realizada no espaço de cores RGB (relativo à exibição) tem canais para g (cinza), R, G, B, H (matiz de HSL), S (saturação de HSL), e L (luminosidade de HSL). A mesclagem realizada no espaço de cores RGB (relativo à cena) tem canais para g (cinza), R, G, B, Jz (componente de luminância de JzCzhz), Cz (componente de crominancia de JzCzhz) and hz (componente de matiz de JzCzhz). Consulte, por exemplo, o artigo da Wikipedia sobre espaços de cores para uma visão mais aprofundada.

Cada aba pode provê dois deslizadores para seus canais de dados: um para dados de entrada do módulo e um para dados de saída que o módulo produz antes da mesclagem. O deslizador para os dados de saída fica oculto por default e pode ser mostrado usando o item de menu mostrar canais de saída no menu de mesclagem.

O deslizador fator de ganho permite extender a faixa de valores que pode ser usada em deslizadores de máscaras paramétricas. Ele pdoe ser usado em edição reltiva à cena onde os valores de luminância podem ir além de 100% para realces. Este deslizador só está disponível para canais onde ele faz sentido.

Você pode inspecionar os dados de imagem correspondentes a um canal individual segurando Shift enquanto movimenta o respectivo deslizador com o cursor do mouse. O centro da imagem muda para mostrar o canal selecionado da imagem em tons de cinza ou em cores falsas, dependendo da configuração de preferências em Opções da sala escura (veja Seção 8.4, “Sala escura”). Você pode adicionalmente segurar Ctrl, que permite ver a máscara sobreposta à imagem. Quando sair do deslizador a imagem volta ao normal depois de um tempo.

Deslizadores de canal de cor

Com o deslizador de canal de cores, você constrói uma função trapezoidal de opacidade. Para isto há quatro marcadores por deslizador. Dois triângulos acima do deslizador marcam a faixa de valores onde a opacidade é um. Dois abaixo marcam a faixa de valores onde a opacidade é zero. Pontos intermediários entre opacidades cheia e zero são dados opacidades proporcionais.

Os triângulos cheios, ou marcadores internos, indicam a borda fechada da função trapezoidal. Os triângulos abertos, ou marcadores externos, indicam a borda aberta da função. A sequência dos marcadores permanece inalterada: eles podem se tocar, mas não podem trocar de posição.

Um botão de polaridade ( e , respectivamente) à direita do deslizador alterna entre modos de função seleção de faixa e desseleção de faixa com confirmação visual para trocar os triângulos marcadores de cima e de baixo. Estes dois tipos de função trapezoidal são representadas graficamente pelas imagens a seguir.

Função de seleção de faixa

Função de desseleção de faixa

Uma função trapezoidal que seleciona uma faixa estreita de valores para mesclagem.

Uma função trapezoidal que desseleciona uma faixa estreita de valores para mesclagem.

Em seu estado default, os marcadores ficam todos em suas posições extremas, máximo à direita e máximo à esquerda, respectivamente. Neste estado, seleção de faixa seleciona a faixa inteira de valores dando uma máscara com tudo em 100%. Começando daí, é possível mover os deslizadores para dentro a fim de gradualmente retirar mais e mais partes da imagem exceto uma faixa estreita restante.

Uma função de desseleção por default desseleciona toda a faixa de valores, resultando em uma máscara toda zero como ponto de partida. Mover os deslizadores para dentro gradualmente estende a máscara mais e mais, exceto por uma estreita faixa restante.

Para mais informação sobre a funcionalidade de polaridade, veja Seção 3.2.5.8, “Combinando máscaras desenhadas e paramétricas”.

Botões de controle

Botões de controle ajudam a desenhar uma máscara paramétrica.

Com o botão do seletor de cores você pode selecionar uma amostra da sua imagem. Os valores correspondentes para os canais de dados reais e virtuais são então mostrados em cada deslizador de canal de cor. Você pode alternar entre modos ponto e área a partir do painel global de seletor de cores (veja Seção 3.3.6, “Seletor de cores global”).

Com o botão de inverter você pode alternar as polaridades dos canais (inclusive de uma máscara potencialmente ativa) e mudar o método usado para combinar os canais em uma máscara final. Mais sobre este tópico pode ser encontrado em Seção 3.2.5.8, “Combinando máscaras desenhadas e paramétricas”.

Com o botão de reset você pode por todas as definições de volta em seus valores default.

combinar máscaras

Quando uma máscara paramétrica ou uma combinação de máscara desenhada e paramétrica estiver ativa, uma combobox adicional, que controla como máscaras individuais são combinadas para formar a máscara final, é mostrada. Detalhes sobre a combinação de máscaras individuais podem ser encontrados em Seção 3.2.5.8, “Combinando máscaras desenhadas e paramétricas”.

Exemplo
Efeito color key

Para criar um efeito color key com esta flor em vermelha e o resto da imagem em monocromático, poderíamos aplicar o módulo monocromático em todas as partes da imagem exceto nas pétalas saturadas de vermelho.

Escolhemos o canal matiz para controlar nossa máscara uma vez que a matiz dá uma boa separação entre pétalas e fundo.

Estas definições no canal matiz constroem uma máscara paramétrica de mesclagem que exclui as pétalas vermelhas. A pequena barra branca no gradiente foi obtida usando o seletor de cores em uma das pétalas e os marcadores então foram posicionados bem próximos, centrados na matiz indicada, para aumentar a seletividade da máscara.

A máscara de mesclagem resultante

A imagem final depois que o módulo monocromático é aplicado.

3.2.5.7. Máscara matricial (raster)

Quando uma máscara desenhada ou uma máscara paramétrica está ativa, a máscara final pode ser reusada em outros módulos. Isto funciona porque todas as formas da máscara desenhada e todas as funções de mesclagem da máscara paramétrica de um módulo constroem uma máscara final, que internamente é armazenada como uma imagem matricial (raster) e deixada acessível a outros módulos.

Visão geral

Cada máscara individual seleciona um conjunto de pixels e quão drasticamente o efeito do módulo é aplicado nessa seleção. Várias máscaras desenhadas e funções de mesclagem paramétricas podem ser definidas e elas todas juntas renderizam a máscara final, as definições finais de quão drástico o efeito do módulo será.

A seleção de uma destas máscaras pode ser armazenada como mapa alfa, que é uma imagem do mesmo tamanho que a original, mas em que cada pixel a intensidade vale entre zero e o máximo valor alfa. Se o valor de um pixel for zero, a entrada do módulo é mantida inalterada; se for máximo, o módulo tem efeito total, e para cada valor intermediário, o efeito é aplicado proporcionalmente em cada lugar.

Internamente, para cada módulo o mapa alfa é gravado e tornado acessível para outros módulos no botão de máscara matricial. Então a máscara matricial de qualquer módulo pode ser reusada de qualquer outro módulo facilmente.

Uso
Menu drop-down

Se há uma máscara em outro módulo, ela aparecerá no menu drop-down da máscara matricial. Você pode facilmente identificar a máscara pelo nome do módulo em que ela foi definida.

3.2.5.8. Combinando máscaras desenhadas e paramétricas

Esta seção descreve como o darktable combina máscaras individuais para formar a máscara final do módulo. Máscaras individuais são as máscaras desenhadas e todos os canais individuais das máscaras paramétricas. O tópico é bastante avançado - se você não quiser passar por todos os detalhes, pule para onde descrevemos dois casos de uso típicos.

Visão geral

Há dois principais elementos que controlam como máscaras individuais são combinadas: a polaridade de cada máscara individual, definida pelos botões de mais ou menos, e a definição na combobox combinar máscaras (veja “combinar máscaras”).

Máscaras podem ser vistas como imagens em tons de cinza que tomam valores entre 0 e 1.0 (ou de 0% a 100%) para cada pixel.

Uma maneira direta de combinar máscaras é multiplicando os valores de pixels. A máscara final terá valor zero se um dos pixels for zero em dado local. A máscara final só pode ter o nível máximo de 1.0 para um pixel se todas as máscaras individuais tiverem valor 1.0 naquele local. Chamamos isto de combinação exclusiva. Qualquer máscara individual pode excluir um pixel ao determinar seu valor em zero, independentemente do que as outras máscaras façam com esse pixel. Uma vez que um pixel é excluído (seu valor é 0) por uma máscara, não há como incluí-lo novamente por qualquer outra máscara individual.

Uma forma alternativa de combinar máscaras é a seguinte: primeiro invertemos cada máscara individual - calculando 1.0 menos seu valor - então multiplicamos estas máscaras invertidas e num passo final invertemos a máscara resultante novamente. Agora, se uma das máscaras não invertidas originais tiver valor 1.0 para a localização de um pixel, o final também será 1.0. A máscara final só poderá chegar a um valor 0 para um pixel se todas as máscaras individuais tiverem valor 0 para ele. Chamamos este modo de combinação inclusiva. Qualquer máscara individual pode incluir um pixel, determinando seu valor como 1.0, independentemente do que as outras máscaras façam. Uma vez que um pixel é incluído na totalidade (seu valor é 1.0) por uma máscara, não há maneira dele ser excluído ou de ter seu valor diminuído por outra máscara individual.

Estes dois métodos de combinação, sozinhos, ainda são muito limitantes. Ganhamos máxima flexibilidade ao permitir um passo adicional de inversão para cada máscara individual. Isto é governado pelos botões de polaridade e que você encontra perto dos canais individuais. Alternar a polaridade da máscara inverte seus valores, ou seja, recalcula os valores dos pixels como 1.0 menos o valor original.

Finalmente, na combobox combinar máscaras, você pode novamente inverter o resultado final para que se ajuste às suas necessidades selecionando as opções exclusivo & invertido ou inclusivo & invertido.

Uso
Você vai tipicamente querer combinar máscaras desenhadas e paramétricas para primeiro selecionar uma certa região da imagem - pela desenhada ou pela paramétrica - e usar a outra máscara para ajuste fino de sua seleção. Ajuste fino pode significar que você quer incluir mais partes da imagem, que não foram incluídas em primeiro lugar, ou que quer excluir partes que foram incluídas.

Isto leva a dois casos de uso típicos:

Modo inclusivo

Para este modo você define a combinar máscaras para inclusivo e certifica-se de que todos os botões de polaridade dos canais individuais e da máscara desenhada são definidos como negativo ( ). Seu ponto de partida é uma máscara onde todos os pixels tem um valor zero, ou seja, nenhum pixel é selecionado. Agora você ajusta os deslizadores da máscara paramétrica para trazer mais e mais pixels na seleção, ou desenha formas na tela para selecionar áreas específicas da sua imagem.

Modo exclusivo

No caso oposto, você define a combobox combinar máscaras para exclusivo e se certifica que todos os botões de polaridade foram colocados como positivos ( ). Seu ponto de partida é uma máscara com valores em 1.0, ou seja, todos os pixels selecionados. Agora você gradualmente muda os deslizadores da máscara paramétrica para excluir partes da imagem como for necessário, ou diretamente desenha formas na tela para excluir essas partes.

Para sua conveniência, há na interface de máscaras paramétricas um botão que inverte todas as polaridades de canal e alterna entre modo inclusivo e exclusivo na combobox combinar máscaras.

Para usuários novatos é recomendado manter estes dois casos de uso. Isto implica que você deve decidir de antemão como quer construir sua máscara. Usuários avançados encontrarão sua maneira de fazer uso das muitas possíveis combinações de polaridade e modos de combinação de máscaras.

3.2.5.9. Refinamento de máscara e controles adicionais

Visão geral

Quando uma máscara paramétrica, uma máscara desenhada ou uma combinação delas está ativa, vários deslizadores adicionais, que permitem um refinamento meticuloso da máscara, são mostrados.

Uso
Quando mesclando com uma máscara há algumas opções adicionais relacionadas à máscara final: você pode enevoar ou desfocar a máscara, ajustar seu brilho e contraste, temporariamente desabilitar a máscara, ou mostrá-la como imagem sobreposta. Esta última opção é particularmente útil para examinar o efeito dos controles a seguir.
guia de enevoamento

O enevoamento da máscara suaviza uma máscara desenhada ou paramétrica de maneira não uniforme, para que as bordas da máscara se ajustem automaticamente para combinar com as bordas da imagem. Esta suavização da máscara é guiada pela imagem de entrada ou pela imagem de saída do módulo (antes da mesclagem), dependendo do que for selecionado na combobox guia de enevoamento. O enevoamento é particularmente sensível a esta opção para módulos que modificam bordas, ou seja, módulos para melhorar nitidez ou para desfocar imagens.

raio de enevoamento

O deslizador de raio de enevoamento ajusta a força do efeito de enevoamento. Ele funciona melhor se as bordas da máscara desenhada e/ou paramétrica já casam aproximadamente com algumas bordas da imagem guia. Quanto maior o raio de enevoamento, mais fácil será para algoritmo fazer o alinhamento entre bordas da máscara e bordas mais distantes na imagem. Se este raio for muito grande, no entanto, a máscara enevoada pode cobrir regiões que deveriam ser excluídas. O enevoamento é desligado se o raio é definido em 0.

desfoque de máscara

Desfocar a máscara cria uma transição mais suave entre as partes mescladas e não mescladas da imagem e evita artefatos. O deslizador de desfoque da máscara controla o raio de um desfoque gaussiano aplicado à máscara final. Quanto maior o raio, mais forte o desfoque - defina em 0 para uma máscara sem desfoque. O desfoque gaussiano é sempre aplicado depois do enevoamento se os dois tipos de ajuste de máscara estão ativados. Esta ordem permite suavizar bordas duras ou artefatos que podem resultar do enevoamento.

opacidade da máscara

A força do efeito de um módulo é determinada pela opacidade local da máscara. O enevoamento e o desfoque da máscara podem resultar em uma máscara com opacidade reduzida, o que implica em efeito reduzido. Assim, o deslizador opacidade da máscara permite reajustar este valor. Se a opacidade for diminuída (valores negativos no deslizador), as partes menos opacas são afetadas de maneira mais fortes que as mais opacas. Similarmente, se a opacidade é aumentada (valores positivos no deslizador), as partes mais opacas são afetadas mais fortemente. Como consequência, partes totalmente opacas da máscara sempre ficam opacas e partes completamente transparentes permanecem transparentes. Isto é para garantir que as regiões que tenham sido excluídas ou incluídas no efeito de um módulo através da definição da opacidade da máscara em 0% ou 100% permaneçam incluídas ou excluídas, mesmo que a opacidade seja ajustada por este deslizador.

contraste da máscara

Este deslizador aumenta e diminui o contraste da máscara. Isto significa que ele permite modificar a transição entre partes opacas e transparentes da máscara.

temporariamente desliga uma máscara

Às vezes é útil visualizar o efeito de um módulo sem a ação da máscara. Você pode fazer isso clicando no símbolo , que desativará temporariamente a máscara - o modo de mesclagem e opacidade continuam em efeito. Ligue e desligue este botão para ver se a máscara está agindo na imagem como desejado.

mostrar máscara

Clicar no símbolo mostrará a máscara atual como uma sobreposição em amarelo sobre uma versão em preto-e-branco da sua imagem. Amarelo sólido indica opacidade de 100%; uma imagem de fundo cinza completamente visível, sem a sobreposição amarela, indica opacidade de 0%.

Exemplos
Enevoando uma máscara desenhada

Pode ser entediante criar uma máscara desenhada à mão, que case perfeitamente com um objeto específico ou uma pessoa em uma imagem. Neste exemplo, tentaremos melhorar o contraste de cor entre a escultura do leão mostrada na imagem da esquerda, acima, sem afetar o fundo. Para isto, uma seleção grosseira da escultura é criada com uma máscara desenhada. Veja a segunda imagem acima, onde a funcionalidade mostrar máscara está ativa. Note que a máscara é um tanto difusa e não casa perfeitamente com a escultura do leão. Ajustando o raio de enevoamento, a opacidade e o contraste da máscara levam a uma máscara que casa bem, sem muito esforço. Na terceira imagem acima o raio de enevoamento foi ajustado em 50 e o raio de desfoque em 5 para suavizar um pouco a máscara. A opacidade e o contraste da máscara foram aumentados para 0.3 e 0.5, respectivamente, para melhorar ainda mais a máscara. A última imagem mostra o resultado final, onde a melhoria de cor, através do módulo de contraste de cor (veja Seção 3.4.2.6, “Contraste de cor”) foi restrita à escultura do leão por causa da máscara. O enevoamento da máscara funcionou particularmente bem neste exemplo porque a escultura na imagem original está bem separada do fundo desfocado. A linha distinta da borda da escultura guia o ajuste do enevoamento da máscara para casar com a forma da escultura. Note que o enevoamento pode ser aplicado à máscaras desenhadas tanto quanto a máscaras paramétricas.

O enevoamento da máscara funcionou particularmente bem neste exemplo porque a escultura na imagem original está bem separada do fundo desfocado. A linha distinta da borda da escultura guia o ajuste do enevoamento da máscara para casar com a forma da escultura. Note que o enevoamento pode ser aplicado a máscaras desenhadas tanto quanto paramétricas.