GOOGLE ADS

sábado, 30 de abril de 2022

necesita ayuda para cambiar el color en cv2, con la entrada del usuario en tinker

Tengo una lista de colores:

 red = (50, 50, 255)
blue = (255, 127, 0)
dark_blue = (127, 20, 0)
green = (127, 255, 0)

Inicialmente, configuré el color de salida:

 line_colour = red

esto funciona al dibujar una línea:

 cv2.line(img, (x3, y3), (x2, y2), line_colour, 5)

Expandí el programa para obtener la entrada de color del usuario, a través de Tinker:

 colour_list = ['red', 'blue', 'dark blue', 'green',
'light green', 'yellow', 'pink', 'black', 'white']

I am able to get the colour:

 line_clicked.get()

Necesita ayuda para cambiar cv2.line(......) para que el color de la línea se dibuje con la elección de color del usuario.


Solución del problema

Puede poner todos sus colores en un diccionario, con el nombre como clave y el RGB como valor.

Algo como:

color_dict = {'red': (50, 50, 255),
'blue': (255, 127, 0),
'dark blue': (127, 20, 0)} # etc...

Luego, si tiene un color seleccionado por el usuario:

selected_colour_name = line_clicked.get()

Puedes usar el diccionario para obtener el color RGB y dibujarlo:

line_colour = colour_dict[selected_colour_name]
cv2.line(img, (x3, y3), (x2, y2), line_colour, 5)

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...