Utilizando J em imagens (parte 4 de n)

Brincamos um pouco com imagens no artigo anterior, mas achei que o preto e branco foi pouco explorado. Vou partir com a seguinte imagem para facilitar a visualização da simulação de filtros.

Para converter a imagem para preto e branco podemos utilizar <. 3 # "0 media "1 im , obtendo a seguinte imagem:

Como foi visto anteriormente, usando 1 0 0 * "1 im podemos extrair apenas o canal vermelho da imagem. Poderíamos utilizar apenas o valor do canal vermelho para gerar a nossa imagem e, em vez de calcular a média dos três canais, utilizamos o valor de um canal e colocamos nos outros dois. Os exemplos a seguir mostram como ficariam as imagens utilizando apenas um canal. Na sequencia R, G e B (coloquei a imagem colorida do canal para auxiliar na visualização).

Acho que a imagem evidenciou bastante a diferença no resultado do preto e branco. No primeiro caso, bastante comum na fotografia em filme, era utilizado um filtro avermelhado. Quanto mais vermelho, mais escuro ficava o céu, dando um bom contraste com as nuvens. O mesmo ocorreu na imagem, onde a parte azulada (ciano) da parede ficou bem escura, já que o filtro vermelho bloquearia a passagem da luz azul. Por outro lado, a parte vermelha da placa na porta ficou praticamente branca.

Oops. Quase esqueci de colocar a sentença para geração de uma imagem preto e branco baseada apenas em um canal. Para converter para preto e branco utilizando apenas o canal vermelho, usamos:

view_image 3# "0 ]0{"1 im

Nesse caso, nós montamos uma matriz com o valor do canal vermelho utilizando o verbo From que recebe como parâmetro os valores 0, 1 ou 2 (0{, 1{ ou 2{) dependendo do canal desejado (R, G ou B). Depois repetimos três vezes o valor para a visualização da imagem. Só para constar, é possível gravar as imagens em vez de apenas visualizá-las com view_image.

(3# "0 ]2{"1 im) write_image '/home/guara/temp/porta-bw-b.jpg'

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

Anúncios