Exemplo n.º 1
0
def superpixel(image_pk,test_pk,grid_size,distance,sigma):
    image_selected = Imagen.objects.get(pk=image_pk)
    image_for_pil = Image.open("."+image_selected.archivo.url)
    maxsize = (200, 200)
    thumbnail = grid.thumbnail("."+image_selected.archivo.url,(200,200))
    image_for_pil.thumbnail(maxsize, PIL.Image.ANTIALIAS)

    test = Prueba.objects.get(pk=test_pk)
    op = np.load(test.op_file)
    sp = np.load(test.sp_file)
    ca = np.load(test.ca_file)
    mean_shift_result = ms.MeanShiftResult(op,sp,ca)

    x_y_c = fe.cambia_formato(mean_shift_result)
    foreground_estimator = fe.foreground_estimation(x_y_c)
    classified = foreground_estimator.classify_points()
    print(classified)
    energy = eg.energy_generation(classified,np.shape(np.array(image_for_pil)),int(grid_size),nombre_salida="./imagenes/tmp/eg/transformacion_distancia_{}.png".format(image_selected.nombre),nombre_grid_interseccion_figura="grid_interseccion_figura.png",nombre_morfologia="morfologia.png")
    energy_map = energy.hacer_saliency_map()

    s = spx.superpixel(nombre_thumbnail=thumbnail,profundidad=energy_map,nombre_salida="./imagenes/tmp/spx/superpixel_{}.png".format(image_selected.nombre))
    s.hacer_superpixel()

    fil = open(s.nombre_salida, 'rb')
    rd = fil.read()
    content_file = ContentFile(rd)
    content_file.name="./edited/edited.png"
    image_edited = Imagen(nombre=energy.nombre_salida,archivo=content_file,formato="png",editada=True)
    image_edited.save()
    test.resultado=image_edited
    test.save()

    return image_edited.archivo.url
Exemplo n.º 2
0
def foreground_estimation(image_pk,test_pk,grid_size,distance,sigma):
    image_selected = Imagen.objects.get(pk=image_pk)
    image_for_pil = Image.open("."+image_selected.archivo.url)
    maxsize = (200, 200)

    image_for_pil.thumbnail(maxsize, PIL.Image.ANTIALIAS)
    test = Prueba.objects.get(pk=test_pk)
    op = np.load(test.op_file)
    sp = np.load(test.sp_file)
    ca = np.load(test.ca_file)
    mean_shift_result = ms.MeanShiftResult(op,sp,ca)

    x_y_c = fe.cambia_formato(mean_shift_result)
    foreground_estimator = fe.foreground_estimation(x_y_c)
    classified = foreground_estimator.classify_points()
    print(classified)
    morf = eg.energy_generation(classified,np.shape(np.array(image_for_pil)),int(grid_size),nombre_salida="transformacion_distancia.png",nombre_grid_interseccion_figura="grid_interseccion_figura.png",nombre_morfologia="morfologia.png")
    morf.interseccion_grid_figura()
    morf.morfologia()
    morf_img = Image.fromarray(morf.res,'L')
    morf_img.save("./imagenes/tmp/morfologia/"+morf.nombre_morfologia+"_{}".format(image_selected.nombre),'png')
    fil = open("./imagenes/tmp/morfologia/"+morf.nombre_morfologia+"_{}".format(image_selected.nombre), 'rb')
    rd = fil.read()
    content_file = ContentFile(rd)
    content_file.name="./edited/edited.png"
    image_edited = Imagen(nombre="./imagenes/tmp/morfologia/"+morf.nombre_morfologia+"_{}".format(image_selected.nombre),archivo=content_file,formato="png",editada=True)
    image_edited.save()
    test.resultado=image_edited
    test.save()

    return image_edited.archivo.url
Exemplo n.º 3
0
#ORIGINALMENTE ERA [0.2,0.2]
mean_shift_result = mean_shifter.cluster(LISTA_PUNTOS,40, kernel_bandwidth = [100,128])

# Muestra las asignaciones de cada uno de los puntos
cluster_assignments = mean_shift_result.cluster_ids
print(cluster_assignments)
print(mean_shift_result.original_points)
print("Puntos asignados: {}".format(len(cluster_assignments)))

(res,colores) = grid.visualizar_clusteres(RGB,mean_shift_result)

img = Image.fromarray(res,'RGB')
img.save('visalizacion_puntos_aislados_clusteres.png','png')


x_y_c = foreground_estimation.cambia_formato(mean_shift_result)
print(x_y_c)
fe_estimator = foreground_estimation.foreground_estimation(x_y_c)
print(fe_estimator.predictor())
#puntos_clasificados = fe_estimator.classify_points()

#fe_scores = fe_estimator.predictor()
#print(fe_scores)
#normalizacion= whiten(fe_scores)
#normalizacion = normalizacion.reshape(-1,1)
#print(normalizacion)
#centroides,_ = kmeans(normalizacion,k_or_guess=2)
#clases,_ = vq(fe_scores.reshape(-1,1),centroides)
#
#print(centroides)
#print(clases)