Algoritmo de escala de cinza
Publicado por Renato Alencar (última atualização em 20/06/2014)
[ Hits: 6.753 ]
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 lá o que é isso, PARTE II
Como rodar músicas mp3 pelo Python
Painel com botões desligar, reiniciar, logoff e bloquear tela
Virus, trojan, sei la o que é isso
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Programa dando erro ao abrir (2)
Erro ao tentar ativar o secure boot no arch (0)
É normal não gostar de KDE? (15)
Erro ao instalar programa, "você tem pacotes retidos quebrados&qu... (13)









