Mostrando postagens com marcador cor. Mostrar todas as postagens
Mostrando postagens com marcador cor. Mostrar todas as postagens

domingo, 3 de março de 2013

Ajustar níveis de cor no tratamento de texto digitalizado

Um texto impresso em papel e digitalizado para um arquivo de imagem pode conter diversas interferências, que comprometam a qualidade da cópia digital. Desconsiderando o desempenho do dispositivo de digitalização (scanner), o próprio impresso pode dificultar uma boa digitalização. A cor do papel, o tipo do papel, a qualidade da impressão e até a gramatura que, quando pequena deixa o papel um pouco transparente e assim a impressão do verso torna-se levemente visível na frente. Tudo isso influencia no resultado final.

Quase sempre é preciso fazer alguma correção na imagem do texto digitalizado. Felizmente temos os softwares de tratamento de imagens, que não são somente para fotografias pois são capazes também de tratar desenhos e textos digitalizados.

Este artigo mostra uma ferramenta de cor, a ferramenta de níveis de cor, que realiza um tratamento muito bom para este tipo de imagem digitalizada. O software utilizado na demonstração desta ferramenta é o GIMP (www.gimp.org), um software gratuito com muitos recursos e disponível para Linux e Windows.

O texto é basicamente uma imagem de duas cores, a cor do fundo, que é a cor do papel, e a cor do texto, que é a cor da tinta da impressão. Apenas ajustando os níveis podemos modificar os pixels para que eles se concentrem no preto e no branco. Poderíamos converter a imagem para a paleta preto e branco de 1 bit mas nisso perderia-se a suavidade dos caracteres, ou usar a ferramenta de contraste mas esta não permite um controle preciso no nível da cor preta e da cor branca.

A ferramenta de níveis de cor proporciona uma funcionalidade semelhante a ferramenta de histograma, entretanto, pode alterar o alcance da intensidade, tornar a imagem mais clara ou mais escura, alterar o contraste e corrigir a cor predominante. No GIMP, a ferramenta de ajuste de níveis de cor está acessível pelo menu "Cores/Níveis..." (Colors/Levels).

Vamos iniciar o nosso exemplo com esta imagem de um texto digitalizado. Veja que a cor dos caracteres está fraca, o papel está acinzentado e é possível perceber a impressão do verso:


Imagem digitalizada original

Abrindo a janela da ferramenta de ajuste de níveis de cor vemos o histograma linear na imagem, nos níveis de entrada. O histograma mostra a quantidade de pixels em cada nível de cor. O eixo horizontal vai do nível 0 (preto) ao nível 255 (branco) e a quantidade de pixels por nível está no eixo vertical. A área da curva representa todos os pixels da imagem.

No histograma desta imagem original vemos dois picos, o da esquerda é referente aos pixels próximos do preto e o da direita é referente aos pixels próximos do branco. Perceba que a quantidade de pixels próximos do branco é bem maior pois a área livre (sem impressão) do papel é predominante. Os pixels próximos do preto são os caracteres. Abaixo este histograma original:


Histograma da imagem original

Não mostrarei todas as funcionalidades desta ferramenta de níveis, apenas os ajustes dos níveis de entrada, que são suficientes para o propósito deste artigo. No combo do canal deixe em "Valor", significa todos os canais.

Os níveis de entrada são ajustados pelos três triângulos deslizantes, ou pelos conta-gotas (desnecessário neste artigo), ou pelas três caixas de valor numérico. São três pontos porque o da esquerda seleciona o ponto negro, o da direita seleciona o ponto branco e o do centro ajusta o gama, o ponto médio.

Reposicionando o ponto negro faz com que todos os pixels, que possuírem este valor ou menos, tornem-se pretos. Assim, vamos posicioná-lo para alcançar todos os pixels referentes aos caracteres. Abaixo o histograma ajustado no ponto negro e a imagem digitalizada após este ajuste:


Histograma com ajuste do ponto negro


Imagem resultante

Podemos ver que os caracteres estão quase que totalmente pretos.

Reposicionando o ponto branco faz com que todos os pixels, que possuírem este valor ou mais, tornem-se brancos. Assim, vamos posicioná-los para alcançar todos os pixels referentes ao papel. Abaixo o histograma ajustado no ponto branco e a imagem digitalizada após este ajuste:


Histograma com ajuste do ponto branco


Imagem resultante

Podemos ver que o papel está completamente branco.

O que foi feito até agora foi o ajuste isolado de cada ponto, para mostrar o seu respectivo efeito. O tratamento final da imagem digitalizada está no reposicionando dos dois pontos, o negro e o branco, fazendo o ajuste em conjunto. Abaixo o histograma ajustado no ponto negro e no ponto branco e a imagem após este ajuste. Temos agora a imagem final:


Histograma com ajustes de ambos os pontos


Imagem resultante final

O texto está bem mais nítido, com o contraste adequado e o papel (fundo) sem qualquer sujeira. Volte lá na imagem original e compare com esta. Agora perfeito, não? A ferramenta de ajustes dos níveis de cor é mais eficiente em eliminar as sujeiras no papel. As vezes, existem pontos que são escuros o suficiente para confundir com os caracteres e esta ferramenta possibilita distanciá-los do preto e aproximá-los do branco.

O reposicionamento do ponto médio pode ser feito se desejar alterar o gama. Indo para a esquerda, para o preto, a imagem fica mais clara, indo para a direita, para o branco, a imagem fica mais escura. Nestes exemplos estou mantendo no 1 para evidenciar o efeito dos outros níveis.

Apenas com este ajuste dos níveis de cor podemos obter uma imagem, de um texto digitalizado, muito mais agradável para leitura. Inclusive, facilita o reconhecimento ótico dos caracteres (OCR), caso o propósito da imagem seja para este procedimento, o software não sofrerá com as interferências. Boas digitalizações!

sábado, 13 de março de 2010

Convertendo cores do RGB para o CMY e vice-versa

É possível realizar matematicamente a conversão entre os modelos de cores aditivas (RGB) e subtrativas (CMY). As fórmulas apresentadas neste artigo recebem valores RGB entre 0 e 255 e valores CMY entre 0 e 1. Os resultados também estão nestas escalas.

Com relação a escala CMY, é mais comum os softwares usarem valores entre 0 e 100% então um ajuste é necessário. Por exemplo 50% é 0,5 na escala utilizada por estas fórmulas.

Convertendo RGB em CMY:

C = 1 - ( R / 255 )
M = 1 - ( G / 255 )
Y = 1 - ( B / 255 )

Convertendo CMY em RGB:

R = ( 1 - C ) * 255
G = ( 1 - M ) * 255
B = ( 1 - Y ) * 255

Pelo motivo dos softwares representarem as profundidades de cores utilizando somente escalas com números inteiros e em alguns casos sendo necessário um arredondamento na conversão, o resultado da conversão pode não ser exatamente a mesma cor.

Modelos de cores RGB e CMY

O RGB é um modelo de cores aditivas formado por vermelho (Red), verde (Green) e azul (Blue). O CMY é um modelo de cores subtrativas formado por ciano (Cyan), magenta (Magenta) e amarelo (Yellow). Um modelo de cores é um modelo matemático abstrato que descreve as cores em forma numérica, tipicamente utilizando três ou quatro valores.

Toda cor vem de um componente básico, que é a luz. A luz branca é composta de três ondas de cores básicas: vermelho, verde e azul. Estas três cores são denominadas de cores aditivas pois a partir de uma ausência total de luz, que forma a escuridão ou a cor preta, suas combinações vão até uma adição das três em suas intensidades máximas, produzindo o branco. Então, as cores aditivas utilizam a luz transmitida antes de ser refletida por uma matéria. As cores aditivas são utilizadas em monitores, aparelhos de televisão, scanners e câmeras digitais.

Modelo RGB

Mas existem também as cores subtrativas produzidas por uma luz refletida em uma matéria. Esta matéria possui pigmentos que absorvem e subtraem algumas ondas, deixando somente outras serem refletidas. As cores subtrativas também possuem 3 cores primárias: ciano, magenta e amarelo. A subtração total das três cores forma a cor preta, a máxima reflexão das três cores forma a cor branca. É deste modo que enxergamos as cores dos objetos que vemos. Um objeto é vermelho porque os pigmentos absorvem as ondas verde e azul da luz, refletindo somente a vermelha. As impressoras utilizam o modelo CMY, de cores subtrativas.

Modelo CMY

As cores aditivas e as subtrativas são aproximadamente correlacionadas. Pois o ciano é obtido com a mistura das cores azul e verde, o verde é obtido com a mistura das cores ciano e amarelo. Desta forma, por aproximação toda cor secundária aditiva é uma cor primária subtrativa, bem como toda cor secundária subtrativa é uma cor primária aditiva. As cores não são exatamente as mesmas porque a conversão entre os dois modelos não é precisa.

Na informática o padrão "truecolor" do modelo RGB utiliza uma profundidade de cor de 24 bits. Cada cor primária tem sua intensidade representada por um valor de 8 bits, de 0 à 255 em notação decimal ou de 00 à FF em notação hexadecimal, então 256 valores diferentes (2 elevado a 8). O número de combinações possíveis fica sendo 256x256x256, ou 2 elevado a 24, que é igual à 16.777.216 cores. Muitas delas imperceptíveis pelo olho humano.

No modelo CMY cada cor primária tem sua intensidade representada em uma escala de 0 à 100%, ou de 0 à 1 em alguns softwares. A intensidade máxima produz a cor preta, ou seja, uma mistura de 100% de cada cor.

Pelo motivo da qualidade da tinta não ser perfeita, as impressoras adotam a cor preta em adição às cores primárias, formando o modelo CMYK, pois a mistura de 100% de cada cor não consegue reproduzir o preto mas sim um marrom bem escuro, neste caso a cor preta é usada em substituição às três. Outros motivos trazem a vantagem de usar a cor preta, um é a economia pois gastar 100% de cada cor primária é muito mais caro do que gastar somente 100% da cor preta e o outro motivo é que 100% de cada cor encharcaria demais o papel.

segunda-feira, 23 de novembro de 2009

Problema de lógica: A cor do urso

Atenção, resposta logo após o problema.

Uma pessoa montou uma tenda para dormir. Subitamente, apareceu um urso que lhe desfez a dita tenda. A pessoa, pacientemente, reparou a tenda e montou-a novamente. Entretanto, o urso andou um quilômetro para o sul, um quilômetro para o oeste e outro para o norte, voltando a passar pelo acampamento e desfazendo novamente a tenda. De que cor era o urso?





RESPOSTA





O urso era branco por ser um urso polar. O acampamento tinha de estar no pólo norte. Só assim que um urso andando de lá, 1 Km para o sul, 1 Km para o oeste e 1 Km para o norte, é que voltaria a passar pelo mesmo ponto. Caso contrário, passaria ao lado.

segunda-feira, 21 de setembro de 2009

Problema de lógica: A cor dos vestidos das três senhoras

Atenção, a resposta está logo após o problema!

Três senhoras, dona Branca, dona Rosa e dona Violeta, passeavam pelo parque quando dona Rosa disse:
- Não é curioso que estejamos usando vestidos de cores branca, rosa e violeta, embora nenhuma de nós esteja usando um vestido de cor igual ao seu próprio nome?
- Uma simples coincidência. - respondeu a senhora com o vestido violeta.
Qual a cor do vestido de cada senhora?





RESPOSTA





Se a senhora com o vestido violeta respondeu a dona Rosa, então ela não é a própria dona Rosa. Além disso, como ela não tem o vestido da mesma cor de seu nome, ela também não é a dona Violeta. Logo, é a dona Branca que está com o vestido violeta. Dona Rosa não está usando o vestido rosa nem o violeta, portanto só pode estar usando o branco. Conseqüentemente, dona Violeta veste o vestido rosa.

quarta-feira, 19 de agosto de 2009

Problema de Lógica: Cor dos Olhos

Atenção, resposta logo após o problema!

Um grupo de pessoas com olhos de diferentes cores mora numa ilha. Elas são perfeitas em seus pensamentos lógicos, se uma conclusão pode ser deduzida logicamente, elas a farão instantaneamente. Ninguém sabe a cor de seus próprios olhos. Toda noite, à meia-noite, uma balsa chega na ilha. Qualquer uma que descobrir a cor de seus próprios olhos deixa a ilha e o resto fica. Qualquer uma pode ver qualquer uma o tempo todo e sabem a contagem do número de pessoas que elas veem com cada cor dos olhos (excluindo a si próprias), mas elas não podem se comunicar. Todos na ilha conhecem as regras deste parágrafo.

Nessa ilha há 100 pessoas de olhos azuis, 100 pessoas de olhos castanhos e a Guru (ela tem olhos verdes). Então, qualquer pessoa de olhos azuis pode ver 100 pessoas de olhos castanhos e 99 de olhos azuis (e uma de olhos verdes), mas isso não lhe diz a cor de seus próprios olhos. Podem imaginar que os totais são 101 castanhos e 99 azuis, ou 100 castanhos, 99 azuis e ela pode ter olhos vermelhos.

A Guru pode falar apenas uma vez (digamos, ao meio-dia) em um único dia de toda eternidade delas na ilha. Em pé em frente aos habitantes da ilha, ela diz o seguinte:

"Eu posso ver alguém que tem olhos azuis."

Quem deixa a ilha, e em que noite?

Lá não há espelhos ou superfícies refletivas. Não é uma pegadinha e a resposta é lógica. Não depende de truque de palavras ou alguém mentindo ou supondo e não envolve pessoas fazendo coisas como comunicação por sinais etc. A Guru não fez sinal com os olhos para alguém em particular, ela simplesmente disse "eu contei pelo menos uma pessoa de olhos azuis nesta ilha que não sou eu".

E finalmente, a resposta não é "ninguém deixou a ilha".




RESPOSTA




Todas as pessoas de olhos azuis deixarão a ilha na centésima noite.

Se você considerar o caso de haver apenas uma pessoa de olhos azuis na ilha, você pode ver que ela deixará a ilha na primeira noite, porque ela saberá que é a única de quem a Guru deve estar falando. Ela olha ao seu redor e não vê alguém mais e sabe que pode sair. Então: [TEOREMA 1] Se tiver uma pessoa de olhos azuis, ela deixará a ilha na primeira noite.

Se neste lugar haver duas pessoas de olhos azuis, elas se olharão uma a outra. Cada uma delas pensará "Se eu não tenho olhos azuis [HIPÓTESE 1], então esta pessoa é a única que tem. E se ela é a única, pelo TEOREMA 1 ela deixará a ilha nesta noite.". Cada uma delas esperará para ver e quando nenhuma delas deixar a ilha na primeira noite, cada uma pensará "Minha HIPÓTESE 1 estava incorreta. Eu devo ter olhos azuis.". E as duas sairão na segunda noite. Então: [TEOREMA 2] Se tiver duas pessoas de olhos azuis, cada uma delas deixará a ilha na segunda noite.

Se neste lugar haver três pessoas de olhos azuis, cada uma olhará as outras duas e atravessará um processo similar ao anterior. Cada uma considerará duas possibilidades: "Eu tenho olhos azuis." ou "Eu não tenho olhos azuis.". Ela saberá que se não tiver olhos azuis, terá somente duas pessoas de olhos azuis na ilha, as duas que ela vê. Então ela pode esperar duas noites, e se ninguém deixar, ela saberá que deve ter olhos azuis: TEOREMA 2 diz que se ela não tiver, as outras pessoas terão de sair. Quando ela ver que as outras não deixaram, ela saberá que seus próprios olhos são azuis. Todas as três estão no mesmo processo, então todas elas deduzirão no dia 3 e deixarão a ilha.

Esta indução pode continuar adiante até o TEOREMA 99, no qual qualquer pessoa envolvida na ilha saberá imediatamente. Cada uma delas esperará 99 dias, verão que o resto do grupo não foi a lugar algum, e na centésima noite todas deixarão a ilha.

segunda-feira, 11 de maio de 2009

Problema de Lógica: Cor do boné

Atenção, este artigo inclui a resposta para o problema. Caso queira tentar descobrir antes de ler, tome o cuidado com seus olhos!

Em uma prisão haviam 3 presos. O dono da prisão resolve conceder a liberdade a um deles, e propõe o seguinte:

- Tenho aqui 5 bonés: 3 azuis e 2 amarelos. Inicialmente, quero que vocês fiquem os 3 alinhados, um na frente do outro, de forma que o último de trás pode ver os da frente; o do meio pode ser somente o da sua frente e o da frente não pode ver nenhum dos outros dois. Em seguida, vou colocar um boné, aleatoriamente, na cabeça de cada um de vocês, sem que vocês vejam. Aquele que adivinhar a cor do boné que está usando será libertado!

Após os 3 serem colocados um na frente do outro, os dois de trás até riram do coitado que ficara na frente, pois ele não conseguia ver o boné de ninguém, e conseqüentemente não teria a mínima chance!!! Em seguida, foi feita a pergunta para o último da fila:

- Qual a cor do seu boné?
- Embora esteja vendo os bonés dos meus 2 companheiros, minha resposta infelizmente é: Não sei!
Foi feita então a pergunta para o do meio:
- Qual a cor do seu boné?
- Não sei!!!
Foi feita então a pergunta para o da frente, que não estava vendo nada:
- Qual a cor do seu boné?
- EU SEI!!!!! E serei libertado!

Qual a cor do boné do felizardo que foi libertado?





RESPOSTA



A cor do boné é azul. O último da fila só seria capaz de adivinhar a cor de seu boné se os dois da frente estivessem com os bonés amarelos, assim só lhe restaria a cor azul. Esta combinação então é descartada para os da frente. O do meio só adivinharia se o da frente estivesse com um boné amarelo, pois com o descarte da combinação favorável ao último o do meio só teria a opção da cor azul. Mais duas combinações são descartadas para o da frente, sendo assim, somente lhe restou as combinações em que está com o boné azul. Veja abaixo a tabela das combinações e das possibilidades de saber a cor:

Combinações dos bonés            Saberia a cor
Frente Meio Último Frente Meio Último
Azul Azul Azul Sim Não Não
Azul Azul Amarelo Sim Não Não
Azul Amarelo Azul Sim Não Não
Amarelo Azul Azul --- Sim Não
Azul Amarelo Amarelo Sim Não Não
Amarelo Azul Amarelo --- Sim Não
Amarelo Amarelo Azul --- --- Sim