Entradas populares

domingo, 10 de junio de 2018

| Procesamiento Digital de Imágenes | Python | Suma y resta de imágenes en escala de grises.

la suma y resta de las imágenes se realiza pixel x pixel por en un imagen a escala de grises se suman los valores del pixel en las operaciones aritmeticas suma y resta.

Ejemplo:
Tenemos el primer pixel de la IMG1 y IMG2 en su primer posición con los siguientes valores. tomando como ejemplo valores del 0 al 10
IMG1[0][0] = (8)
IMG2[0][0] = (10)

El valor entonces sumamos ambos valores que representan red y los dividimos entre 2.

8+10= 18
18/2 = 9

si el resultado es un valor con decimal necesitamos tomar su valor absoluto (redondear) y así ir realizando las operaciones e ingresando los valores en una nueva matriz la cual será el resultado de la operación. 




CÓDIGO

from PIL import Image
def suma(img1,img2,dim):
    suma = Image.new('L',dim) # se crea variable de imagen 
    i = 0
    while i < img1.size[0]:
        j = 0
        while j < img1.size[1]:
            val1 = img1.getpixel((i,j)) # se extrae los valores del pixel
            val2 = img2.getpixel((i,j)) # se extrae los valores del pixel
            pixel = int((val1 + val2) / 2) # se asignan los valores a un pixel
            suma.putpixel((i,j),pixel) # se asigna el pixel a la imagen
            j+=1
        i+=1
    suma.show() #se muestra la imagen
    
def resta(img1,img2,dim):
    resta = Image.new('L',dim) # se crea variable de imagen 
    i = 0
    while i < img1.size[0]:
        j = 0
        while j < img1.size[1]:
            val1 = img1.getpixel((i,j)) # se extrae los valores del pixel
            val2 = img2.getpixel((i,j)) # se extrae los valores del pixel
            pixel = int((val1 - val2) / 2) # se asignan los valores a un pixel
            resta.putpixel((i,j),pixel) # se asigna el pixel a la imagen
            j+=1
        i+=1
    resta.show() #se muestra la imagen
            
# Se cargan las imagenes y se transoforma a escala de grises
A=Image.open('C:/Users/notblu/Documents/Python/practica4/1.png') 
if A.mode != 'L':
    AEG=A.convert('L')
B=Image.open('C:/Users/notblu/Documents/Python/practica4/2.png')
if B.mode != 'L':
    BEG=B.convert('L')
C=Image.open('C:/Users/notblu/Documents/Python/practica4/3.png')
if C.mode != 'L':
    CEG=C.convert('L')

dimensiones = A.size # se extrae la dimension de una imagen

suma(AEG,BEG,dimensiones) # A + B
resta(AEG,BEG,dimensiones) # A - B
resta(BEG,AEG,dimensiones) # B - A
EJECUCIÓN

DESCARGA

No hay comentarios:

Publicar un comentario

|Matlab| Instalacion Matlab R2011a | Solución A Error De Licencia

La instalación del post anterior de  |Matlab| Descarga Matlab R2011a por Mega + crack  tenia un error en los archivos de licencias, en es...