Home Codigo Tratamiento de imagenes Python
Tratamiento de imagenes Python
Usar puntuación: / 0
MaloBueno 
Principal - Codigo
El siguiente es un codigo desarrollado en python el cual recibe como parametro una imagen de cualquier tipo y efectua tres transformaciones sobre el color de sus pixeles, como ven utilizamos librerias de python para cargar las imagenes y tomar la posicion del pixel y su codigo RGB para efectuar las transformaciones.
 
#! /usr/bin/env python
 
import Image
import sys
def gris(archivo):
    print "Procesando imagen en Gris..."
    im=Image.open(sys.argv[-1])
    procesado=[]
    xsize,ysize=im.size
    for x in range(0,xsize):
        for y in range(0,ysize):
            r,g,b=im.getpixel((x,y))
            #Tomamos el promedio de la escala RGB para obtener el tono gris
            colour=(r+g+b)/3
            im.putpixel((x,y),(colour,colour,colour))
    procesado=im.point(lambda i: i)
    procesado.save(archivo+"-gris.jpg")
    print "Procesamiento terminado."
 
def negativo(archivo):
    print "Procesando imagen en Negativo..."
    im=Image.open(sys.argv[-1])
    procesado=[]
    xsize,ysize=im.size
    for x in range(0,xsize):
        for y in range(0,ysize):
            r,g,b=im.getpixel((x,y))
      #Invertimos el codigo de color para cada pixel
            im.putpixel((x,y),(255-r,255-g,255-b))
    procesado=im.point(lambda i: i)
    procesado.save(archivo+"-negativo.jpg")
    print "Procesamiento terminado."
 
def blanconegro(archivo):
    print "Procesando imagen en Blanco y Negro..."
    im=Image.open(sys.argv[-1])
    procesado=[]
    xsize,ysize=im.size
    for x in range(0,xsize):
        for y in range(0,ysize):
            r,g,b=im.getpixel((x,y))
            #Convertirmos a blanco y negro sumando todos los canales
            colour=(r+g+b)
            im.putpixel((x,y),(colour,colour,colour))
    procesado=im.point(lambda i: i)
    procesado.save(archivo+"-blanconegro.jpg")
    print "Procesamiento terminado."
 
#Recibimos el argumento
if __name__=="__main__":
    if len(sys.argv) >1:
        print "Imagen recibida: " + sys.argv[-1]
 
  gris(sys.argv[-1])
        negativo(sys.argv[-1])
  blanconegro(sys.argv[-1])
    else:
        print "Debe ingresar como parametro el nombre de la imagen!!!"