def boton_esq(): #Cambiamos a grises imagen = cambiar_agrises(path_imagen_original) imagen.save("paso_1.jpg") #Agregamos filtro de la mediana imagen_median = cambiar_promedio(imagen) for i in range(8): imagen_median = cambiar_promedio(imagen_median) imagen_median.save("paso_2.jpg") #Sacamos la diferencia imagen_dif = diferencia(imagen_median, imagen) imagen_dif.save("paso_3.jpg") #Ponemos un umbral y tenemos bordes imagen_um = cambiar_umbral(imagen_dif, 0.3) #ESTE UMBRAL CAMBIA imagen_um.save("paso_4.jpg") #Agrego Laplaciana para bordes umbral_valor = 0.5 h_lap = numpy.array([[1, 1, 1], [1, -8, 1], [1, 1, 1]]) imagen_lap, puntos = convolucion(imagen, numpy.multiply(1.0/1.0,h_lap)) imagen_lap = cambiar_umbral(imagen_lap, 0.1) imagen_BFS = cambiar_umbral(imagen_lap, umbral_valor) imagen_BFS.save("paso_5.jpg") #Agregamos BFS imagen_BFS, colores, poligonos = aplicar_BFS(imagen_BFS) imagen_BFS.save("paso_6.jpg") esq_pix = imagen_um.load() dibuja = ImageDraw.Draw(imagen_lap) corte = [] for poli in poligonos: for i in range(len(poli)): esq = esq_pix[poli[i][0], poli[i][1]] if esq[0] == 255: dibuja.ellipse((poli[i][0]-6,poli[i][1]-6,poli[i][0]+6,poli[i][1]+6), fill="black") cor = (poli[i][0], poli[i][1]) corte.append((poli[i][0], poli[i][1])) break #Agregamos BFS imagen_BFS, colores, poligonos = aplicar_BFS(imagen_lap) imagen_BFS.save("paso_ALGO.jpg") x, y = imagen.size imagen_nueva = Image.new("RGB", (x, y)) dibuja = ImageDraw.Draw(imagen_nueva) cont = 0 for poli in poligonos: cor = (corte[cont][0], corte[cont][1]) dibuja.ellipse((cor[0]-6,cor[1]-6,cor[0]+6,cor[1]+6), fill="red") for i in range(len(poli)): cor_ant = cor esq = esq_pix[poli[i][0], poli[i][1]] if esq[0] == 255: dibuja.ellipse((poli[i][0]-6,poli[i][1]-6,poli[i][0]+6,poli[i][1]+6), fill="red") cor = (poli[i][0], poli[i][1]) if cor != "NULL" and cor_ant != cor and cor_ant != "NULL": dibuja.line((cor_ant[0], cor_ant[1], cor[0], cor[1]), fill="red") dibuja.line((corte[cont][0], corte[cont][1], cor[0], cor[1]), fill="red") cont = cont + 1 imagen_nueva.save("paso_7.jpg")