Files
@ 7cb01d4080c9
Branch filter:
Location: OneEye/exp/colors.py - annotation
7cb01d4080c9
1.1 KiB
text/x-python
a hinted neural network (failed)
a7d4586e150c a0db29122ab6 a7d4586e150c a0db29122ab6 a0db29122ab6 a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a0db29122ab6 a0db29122ab6 a0db29122ab6 a0db29122ab6 a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a7d4586e150c a0db29122ab6 a7d4586e150c a7d4586e150c a7d4586e150c | import sys
# oops, actually we could use import colorsys
def hex2int(s):
return int(str(s),base=16)
def int2RGB(x):
r=(x>>16)&255
g=(x>>8)&255
b=x&255
return r/255, g/255, b/255
def _RGB2HC(r,g,b):
M=max(r,g,b)
m=min(r,g,b)
C=M-m
if C==0: H_=0
elif M==r: H_=(g-b)/C % 6
elif M==g: H_=(b-r)/C + 2
elif M==b: H_=(r-g)/C + 4
H=60*H_
return H,C
def RGB2HSV(r,g,b):
H,C=_RGB2HC(r,g,b)
V=max(r,g,b)
S=C/V if V!=0 else 0
return H,S,V
def RGB2HSL(r,g,b):
H,C=_RGB2HC(r,g,b)
L=(max(r,g,b)+min(r,g,b))/2
S=C/(1-abs(2*L-1)) if L!=1 else 0
return H,S,L
def RGB2HSI(r,g,b):
H,C=_RGB2HC(r,g,b)
I=(r+g+b)/3
S=1-min(r,g,b)/I
return H,S,I
if not len(sys.argv)>1:
sys.exit("no data file provided")
f=open(sys.argv[1])
data=[line.split() for line in f]
f.close()
print("img\tstate\thex\tR\tG\tB\tH\tSl\tL\tSv\tV\tSi\tI")
for rec in data:
color=hex2int(rec[2])
R,G,B=int2RGB(color)
H,Sl,L=RGB2HSL(R,G,B)
H,Sv,V=RGB2HSV(R,G,B)
H,Si,I=RGB2HSI(R,G,B)
args=[R,G,B,H,Sl,L,Sv,V,Si,I]
args=map(lambda x: round(x,3), args)
print(rec[0],rec[1],rec[2],*args,sep="\t")
|