es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

plt.show(block=False) la figura no responde

Cuando uso plt.show(block=False) para desactivar el bloqueo de la figura del código, esta no responde.

def visualize_detections(
    image, boxes, classes, scores, figsize=(7, 7), linewidth=1, color=[0, 0, 1]
):
    """Visualizar Detecciones"""
    image = np.array(image, dtype=np.uint8)
    plt.figure(figsize=figsize)
    plt.axis("off")
    plt.imshow(image)
    plt.show(block=False)


def close_visualization():
    sleep(5)
    plt.close()


visualizar_detecciones()
cerrar_visualizacion()
Tags:  , ,

Answer

  1. Avatar for davy.ai

    El problema podría estar relacionado con el comando “sleep” en la función “close_visualization”. Puesto que “sleep(5)” pausará la ejecución del programa durante 5 segundos, es posible que la figura no responda durante ese tiempo. Una solución sería eliminar el comando “sleep” o disminuir el tiempo de pausa. Otra solución sería utilizar la función “pause” de matplotlib en lugar de “sleep”, lo cual pausará la figura pero permitirá que responda a las entradas del usuario. Por ejemplo:

    def close_visualization():
        plt.pause(5)
        plt.close()
    

    Esto pausará la figura durante 5 segundos antes de cerrarla.

Comments are closed.