Esempio n. 1
0
"""
Created on Fri Oct 19 06:51:55 2018

@author: Manuel Andres Sanchez Muñoz
"""

import numpy as np
import cv2
from matplotlib import pyplot as plt
import funciones as fun

img = cv2.imread('img7.jpg', 0)
plt.imshow(img, cmap='gray')
plt.title('Imagen Original en Escala de Grises')

h = fun.my_hist(img)
plt.figure()
plt.bar(np.arange(256), h)
plt.title("Histograma de la Imagen Original en Escala de Grises")

imgGW = fun.grayWhite(img, 40, 170)
plt.figure()
plt.imshow(imgGW, cmap='gray')
plt.title('Imagen Pasada Realce de Grises')

kernel = np.ones((3, 3), np.uint8)
erosion = cv2.erode(imgGW, kernel, iterations=1)
dilation = cv2.dilate(imgGW, kernel, iterations=1)
opening = cv2.morphologyEx(imgGW, cv2.MORPH_OPEN, kernel)
closing = cv2.morphologyEx(imgGW, cv2.MORPH_CLOSE, kernel)
Esempio n. 2
0
import funciones as fun
import cv2
from sklearn.cluster import KMeans

image = Image.open('img2.jpg').convert('RGB')
plt.figure()
plt.gray()
plt.imshow(image)
plt.axis('off')
plt.title('Imagen 2 Original')

Viewimagedouble = np.double(image)
returnImage3 = fun.rgb2ycbcr(Viewimagedouble)
Y = returnImage3[:, :, 0]
Yi = np.uint8(255 * Y / Y.max())
h = fun.my_hist(Yi)
Yeq = fun.my_equal(Yi, h)
returnImage3[:, :, 0] = Yeq
sendImage = np.double(returnImage3)
previousImage = fun.ycbcr2rgb(sendImage)
finalImage = np.uint8(previousImage)
plt.figure()
plt.gray()
plt.imshow(finalImage)
plt.axis('off')
plt.title('Imagen 2 Ecualizada YcbCr')

Im_ga = np.array(finalImage)

Im_f1 = filters.uniform_filter(Im_ga, 5)
Esempio n. 3
0
plt.figure()
plt.gray()
plt.imshow(Viewimage)

#para llamar las funciones del histograma y la equalizacion
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
import funciones as fun

Im_g = Image.open('img2.jpg').convert('L')
Im_ga = np.array(Im_g)
plt.gray()
plt.imshow(Im_ga)

h = fun.my_hist(Im_ga)
plt.figure()
plt.bar(np.arange(256), h)

Im_eq = fun.my_equal(Im_ga, h)
plt.figure()
plt.gray()
plt.imshow(Im_eq)
h1 = fun.my_hist(Im_eq)
plt.figure()
plt.bar(np.arange(256), h1)

#para llamar la funcion de fraccionamiento nivel de gris (se envian varios parametros)
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
Esempio n. 4
0
imageHSI = np.zeros(Im_a.shape)

for i in range(0, row - 1):
    for j in range(0, col - 1):
        [H, S, I] = fun.rgb2hsi(r[i][j], g[i][j], b[i][j])
        ch[i][j] = H
        cs[i][j] = S
        ci[i][j] = I

imageHSI[:, :, 0] = ch
imageHSI[:, :, 1] = cs
imageHSI[:, :, 2] = ci

I = imageHSI[:, :, 2]
Inew = np.uint8(255 * I / I.max())
hist = fun.my_hist(Inew)
Iequal = fun.my_equal(Inew, hist)

imageHSI[:, :, 2] = Iequal

ch = imageHSI[:, :, 0]
cs = imageHSI[:, :, 1]
ci = imageHSI[:, :, 2]

for i in range(0, row - 1):
    for j in range(0, col - 1):
        [R, G, B] = fun.rgb2hsi(ch[i][j], cs[i][j], ci[i][j])
        r[i][j] = R * 255
        g[i][j] = G * 255
        b[i][j] = B * 255
Esempio n. 5
0
print("MSE para gaussiano 0.7 con ruido 0,100: " +
      str(fun.my_mse(Im_f1, Im_g)))

Im_f1 = filters.gaussian_filter(Im_n100, 1)
print("MSE para gaussiano 1 con ruido 0,100: " + str(fun.my_mse(Im_f1, Im_g)))

Im_f1 = filters.gaussian_filter(Im_n100, 1.5)
print("MSE para gaussiano 1.5 con ruido 0,100: " +
      str(fun.my_mse(Im_f1, Im_g)))

Im_g = Image.open('coins.jpg').convert('L')
Im_ga = np.array(Im_g)
plt.gray()
plt.imshow(Im_ga)
plt.title("Imagen original en escala de grises")
horiginal = fun.my_hist(Im_ga)
plt.figure()
plt.bar(np.arange(256), horiginal)
plt.title("Histograma original")

[row, col] = Im_ga.shape
Im_n80 = np.double(Im_ga)
for i in range(0, row - 1):
    for j in range(0, col - 1):
        Im_n80[i, j] = Im_n80[i, j] + np.random.uniform(0, 80)

plt.figure()
plt.gray()
plt.imshow(Im_n80)
Im_h80 = np.uint8(Im_n80)
plt.title("Imagen con ruido 0,80")
# Imprimir imagen con filtro uniforme 3 x 3 en escala de grises
plt.figure()
plt.gray()
plt.imshow(Im_f1u)
plt.title("Imagen con filtro uniforme de 3 x 3")

# Imprimir imagen con filtro Gaussiano 0.5 en escala de grises
plt.figure()
plt.gray()
plt.imshow(Im_f1u)
plt.title("Imagen con filtro Gaussiano 0.5")

# Imprimir histograma imagen original
Im_h = np.uint8(Im_ga)
h = fun.my_hist(Im_h)
plt.figure()
plt.bar(np.arange(256), h)
plt.title("Histograma imagen original")

# Imprimir histograma imagen con ruido (0,60)
Im_h60 = np.uint8(Im_n60)
hruido = fun.my_hist(Im_h60)
plt.figure()
plt.bar(np.arange(256), hruido)
plt.title("Histograma con ruido (0,60)")

# Imprimir histograma imagen filtro uniforme 3 x 3
Im_h3x3 = np.uint8(Im_f1u)
h3x3 = fun.my_hist(Im_h3x3)
plt.figure()