ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Cambio modelo de color RGB a HSV


Enviado por   •  15 de Noviembre de 2022  •  Prácticas o problemas  •  1.027 Palabras (5 Páginas)  •  308 Visitas

Página 1 de 5

"""

Cambio modelo de color RGB a HSV

"""

def ValorMayor(r,g,b):

if(r>=g and r>=b):

return r

if(g>=r and g>=b):

return g

if(b>=r and b>=g):

return b

def ValorMenor(r,g,b):

if(r<=g and r<=b):

return r

if(g<=r and g<=b):

return g

if(b<=r and b<=g):

return b

def ValorH(maximo,minimo,r,g,b):

GB=g-b

BR=b-r

RG=r-g

denominador=maximo-minimo

if maximo==minimo:

return "No definido, por lo que el valor será el minimo --> 0"

if maximo==r and g>=b:

return 60*(GB/denominador)+0

if maximo==r and g<b:

return 60*(GB/denominador)+360

if maximo==g:

return 60*(BR/denominador)+120

if maximo==b:

return 60*(RG/denominador)+240

def ValorS(maximo,minimo):

if maximo==0:

return 0

else:

return (1-minimo/maximo)*255

def ValorV(maximo):

return maximo

def RGBtoHSV():

while(True):

print("\n************")

print("*RGB to HSV*")

print("************")

R=int(input("Ingrese valor R en el rango [0,255]: "))

G=int(input("Ingrese valor G en el rango [0,255]: "))

B=int(input("Ingrese valor B en el rango [0,255]: "))

if (0<=R<=255) and (0<=G<=255) and (0<=B<=255):

break

else:

print("Uno de los valores ingresados no se encuentra en el intervalo solicitado")

print("Intente nuevamente...")

while(True):

print("1. Deseo imprimir H[0-360] y S,V [0-255]")

print("2. Deseo imprimir H[0-360] y S,V [0-100]")

A=input("\nIngrese su opcion deseada (1 o 2): ")

if A=="1" or A=="2":

break

else:

print("Opcion no valida D:\nIntente nuevamente...")

mayor=ValorMayor(R,G,B)

menor=ValorMenor(R,G,B)

H=ValorH(mayor,menor,R,G,B)

if H!="No definido, por lo que el valor será el minimo --> 0":

H=int(H)

S=int(ValorS(mayor,menor))

V=int(ValorV(mayor))

if A=="1":

pass

else: #elif A=="2":

S=int(S/255*100)

V=int(V/255*100)

print("Para el modelo de seleccion ",A,":")

print("El valor de H: ",H,"\tEl valor de S: ",S,"\tEl valor de V: ",V)

return

...

Descargar como (para miembros actualizados)  txt (4.3 Kb)   pdf (44.3 Kb)   docx (10.2 Kb)  
Leer 4 páginas más »
Disponible sólo en Clubensayos.com