Algoritmo de escala de cinza
Publicado por Renato Alencar (última atualização em 20/06/2014)
[ Hits: 6.499 ]
Download escala-de-cinza.tar.gz
Algoritmo de escala de cinza baseado na luminosidade do pixel pela visão humana.
#!/usr/bin/python # -*- coding: utf-8 -*- # Algoritmo de escala de cinza. # # O algoritmo se baseia na luminosidade de cada # pixel, pela formula: # L = R*0.3 + B*0.59 + G*0.11 # Dado o resultado o algoritmo salva o pixel na forma # LLL. # # Primeiro convertemos a imagem em JPEG para PPM (formato # simples e sem compressão, sendo mais fácil a manipulação), # então obtemos um buffer dos pixels, na classe Image. # import image import sys import os if len(sys.argv) != 3: print 'Uso: %s IMAGEM-ENTRADA IMAGEM-SAIDA' % sys.argv[0] sys.exit(1) fn = sys.argv[1] out = sys.argv[2] # Converte para PPM os.system('jpegtopnm "%s" > /tmp/%d.ppm' % (fn, os.getpid())) # Carrega a imagem img = image.Image() img.loadPPM('/tmp/%d.ppm' % os.getpid()) # Converte cada pixel em um pixel cinza baseado em sua luminosidade for i in range(img.width): for j in range(img.height): pix = image.Pix(img.getPixel(i, j)) lum = int(pix[0]*0.3 + pix[1]*0.59 + pix[2]*0.11) img.setPixel(i, j, image.Pix((lum, lum, lum))) # Salva a imagem img.savePPM('/tmp/%d.ppm' % os.getpid()) # Converte de volta os.system('ppmtojpeg /tmp/%d.ppm > "%s"' % (os.getpid(), out)) os.remove('/tmp/%d.ppm' % os.getpid())
Virus, trojan, sei la o que é isso
Gerador palpite Mega Sena v1.0
Cronômetro com interface gráfico utilizando a biblioteca Tkinter
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Como abrir o pycharm no linux (2)
VMs e Interfaces de Rede desapareceram (12)