Eliminando a sujeira do sensor nas fotos com o GIMP

Apesar de ser um termo comum, convém salientar que a sujeira não fica diretamente sobre o sensor e sim sobre o filtro que encontra-se em frente ao mesmo. É mais comum em câmeras reflex (que trocam as objetivas) mas também é possível verificar casos em câmeras compactas. No casos das câmeras reflex, o mais indicado é realizar uma limpeza. Se a sujeira não foi detectada  antes e saiu nas fotos, vejamos alguns métodos para retirá-las utilizando o GIMP.

Exemplo de uma imagem com manchas da sujeira que depositou-se no interior da câmera:

gimp01.jpg

Os círculos indicam claramente a identificação de alguns pontos de sujeira na imagem. Uma outra observação: O meu GIMP está em inglês apenas por facilidade, já que a grande maioria dos tutoriais na internet também estão em inglês. Facilita muito na hora de localizar as instruções informadas e não ter que depender das traduções e posição dos comandos no menu.

1º : Healing Tool



gimp02.jpg

Escolhe-se a ferramenta, o pincel (Brush) adequado, seleciona-se uma área de origem (limpa) semelhante a que encontra-se a sujeira pressionado Ctrl e clicando sobre a mesma. Após, clique sobre o ponto de sujeira e ele desaparecerá.

gimp03.jpg

O método funciona bem na maioria dos casos apesar da necessidade de selecionar-se novas áreas compatíveis para a eliminação de pontos em outras áreas da imagem.

2º: Resynthesizer

Uma das finalidades do resynthesizer é a remoção de objetos em imagens recriando a parte excluída baseado nas áreas ao redor. Como uso Linux, baixei do github, compilei e instalei. Deve ter versões prontas para Windows e diversas distribuições do Linux. As versões novas possuem plugins em  Python que facilitam algumas operações (a versão antiga vinha com alguns script-fus em Scheme e não necessitavam de linguagens adicionais).

gimp04.jpg

A vantagem é que podemos selecionar diversas áreas da imagem e eliminar as imperfeições de todas simultaneamente. Também é possível especificar como o filtro irá atuar. Podemos informar se o filtro irá verificar todo o entorno, apenas as partes superior e inferior ou aindas laterais. (para cenas com objetos verticais/horizontais).

gimp05.jpg

3º: DustCleaner

DustCleaner é uma ferramenta mais especifica para o trabalho. Acredito que não exista versão para o Windows. Baixei e instalei os fontes, mas existe uma versão compilada (32 bits) para Linux.

Podemos selecionar uma área ou deixar para ele procurar possíveis pontos de sujeira em toda a imagem. Pode ser que ele encontre o que não é ou o contrário. Um ajuste mais fino nas opções para detectar permite corrigir possíveis problemas nos pontos encontrados e um ajuste na recuperação vemos como ficará o resultado final diretamente na janela do plugin, antes de aplicarmos na imagem final. Também permite apenas marcar os pontos encontrados.

gimp07.jpg

Conclusão

Os métodos não encerram por aqui mas acredito que sejam os mais simples e eficientes. Pode ser que uma imagem necessite de mais de um método para ficar boa ou aceitável (o melhor mesmo é manter o sensor limpo). Se você detectar que existe pontos de sujeira na imagem, pode ser interessante fazer uma foto desfocada com um fundo uniforme (parede branca, céu) utilizando uma abertura bem pequena (F22 ou próxima) para facilitar a localização dos pontos posteriormente.

Anúncios

Emacs para crianças: Criando scripts para o GIMP

Este artigo irá mostrar como é fácil desenvolver script-fu (scripts em TinyScheme para o GIMP) utilizando Emacs e gimpmode. A primeira coisa, além de possuir o Emcas instalado, é instalar o gimpmode. Aqui eu entrei no diretório ~/.emacs.d/modes, digitei git clone https://github.com/pft/gimpmode.git e pronto. Depois é só executar o arquivo de instalação M-x load-file caminho/gimp-install.el. Depois copie para o arquivo ~/.emacs o necessário para que tudo funcione corretamente. No site do gimpmode existe um arquivo explicando o funcionamento mas, seguinto o vídeo mudo abaixo, é possível ver que é simples. Vou explicar os passos presentes no vídeo mas não detalhadamente. Será necessário seguir os links para aprender um pouco do processo de criação de um script-fu.

Inicialmente é necessário ler o tutorial para a criação de um script-fu. É necessário uma visão da linguagem Scheme (que é um processo bastante simples) e uma visão da estrutura de um script, como é registrado, como são especificados os parâmtros, etc.. Depois uma olhada geral nas funções disponibilizadas pelo GIMP para o usuário. Para tanto, perca um tempinho vendo o nome e a finalidade das funções utilizando o menu Ajuda -> Navegador de procedimentos do GIMP.

Primeiro iniciei o servidor para scripts no GIMP (Filtros->Script-Fu-> Iniciar servidor...) para que o emacs+gimpmode possam se comunicar com o GIMP e facilitar as coisas. Nada impediria que eu escrevesse o script no emacs, gravasse, fosse para o GIMP, recarregasse os scripts e testasse. Existem vantagens e desvantagens de iniciar o servidor pelo GIMP ou iniciar o GIMP como um subprocesso do Emacs, mas vêm ao caso agora. O próximo passo poderia ser iniciar a comunicação entre o gimpmode e o GIMP. É só digitar M-x gimp-cl-connect (eu inverti o processo, o que não prejudica o funcionamento). Depois basta criar ou abrir o arquivo que conterá os scripts. Se o arquivo não existe, você será questionado se gostaria de iniciar com as funções de registro do script e o registro no menu. Você poderá a qualquer tempo digitar reg e enter que o modo irá criar automaticamente as funções para registro. Basta alterar os dados.

Depois de escrever o script, você savá-lo, entrar no GIMP, recarregar, etc.. Pessoalmente acho mais fácil digitar M-x gimp-refresh-scripts ou, para facilitar mais as coisas M-x g-s-c [tab] que o comando será expandido apropriadamente. É interessante já que, se existir alguma alteração no arquivo do script, antes de recarregar os scripts o emacs irá mostrar um prompt para a gravação do arquivo. Depois é só testar o script.

Outra facilidade do modo são os fragmentos que são expandidos automaticamente. Por exemplo, quando necessitamos de um argumento tipo string para a função, é necessário entrar com SF-STRING "opção" "conteúdo". Basta digitar sfs e pressionar enter que o fragmento será expandido para o que se deseja e as partes alteráveis serão selecionadas para facilitar a digitação.

O vídeo mostra o processo de criação e teste de uma função onde o usuário digita um texto e o mesmo é apresentado em uma janela de mensagem e uma função que para inverter uma imagem com a possibilidade de convertê-la para monocromática se for desejado. Também é possível ver qeu podemos ter mais de uma função em um mesmo arquivo.

Por enquanto era isso.

=-=-=-=-=
Powered by Blogilo

Lensfun no GIMP

O projeto lensfun não é novo (2007) mas só recentemente começou a ser incorporado aos diversos programas que trabalham com imagens. Acho que o primeiro programa a incorporar foi o ufraw (02/2010?). Depois, não sei em que ordem, vieram o digiKam, Rawstudio. Também está planejado para o Rawtherapee.

Agora nós temos o GimpLensfun que é um plugin para o GIMP. Para o Linux existe o fonte para compilar e algumas distribuições já disponibilizam os pacotes. Os usuários do Windows e Mac deverão esperar por alguém que gere os executáveis para as suas plataformas. Mesmo já existindo em outros programas, o fato de possuir um plugin nativo para o gimp facilita a vida do usuário.

Mas o que faz esse tal de lensfun? Basicamente ele tenta corrigir automaticamente, baseado em dados sobre as objetivas, a distorção causada por determinadas lentes (mais pronunciadas em grande angulares), a aberração cromática lateral, a vinheta e o desvio de cores que pode ser gerado por determinadas objetivas.

É claro que existem programas proprietários que fazem um ótimo trabalho em diversos (todos?) os itens enunciads anteriormente. Mas o lensfun, por ser código aberto, permite que novas lentes sejam adicionadas a base de dados pelo próprio usuário. É claro que repassando as informações para o projeto, todos os usuários serão beneficiados.

Na imagem acima podemos ver a foto sem a correção (esquerda) e após a correção (direita).

Por enquando era isso.

Atualização: Algumas câmeras fazem algumas correções automaticamente quando a foto for feita em JPG.

=-=-=-=-=
Powered by Blogilo

GIMP 2.7.1 no Windows (futuro GIMP 2.8)

A versão de desenvolvimento 2.7.1 (que será a futura versão 2.8 do GIMP) já pode ser testada no Windows. Basta ir na página do SourceForge, baixar o arquivo gimp-2.7.1-setup.exe e instalar. A nova versão irá desinstalar a versão anterior (2.6.9, se você tiver a última) para instalar a versão 2.7.1.

Caso você utilize o UFRAw, é melhor fazer uma cópia do diretório em algum cantinho, pois você irá necessitar de algumas dlls. Depois, instale o GIMP 2.7.1 normalmente. Instale o UFRaw na mesma pasta em que foi instalado o GIMP. Depois execute o ufraw.exe e ele irá acusar a falta de alguma .dll. Basta copiar para a mesma pasta que tudo funcionará normalmente. Esqueci de anotar e estoiu com preguiça de efetuar todo o processo novamente mas acho que eram intl.dll, jpeg62.dll e libpng12-0.dll.

Aqui faltaram alguns pincéis e ele não lembra se deve iniciar em uma janela ou não. Mas me pareceu que está funcionando bem. Como é uma versão de desenvolvimento, é claro que devem existir algums probleminhas mas, no pouco tempo que usei aqui, tudo funcionou (quase) perfeitamente. Os probleminhas não inviabilizaram os testes.

Já escrevi alguma coisa aqui e você pode se basear para ver as novidades e se vale a pena instalar a versão de desenvolvimento. A data de lançamento do GIMP 2.8 ainda é incerta mas deve ser no final de 2010 ou primeira metade de 2011.