颜色归一化

#coding=utf-8
"""
@author=wanggang
归一化颜色
"""
def color(value):
  digit = list(map(str, range(10))) + list("ABCDEF")
  if isinstance(value, tuple):
    string = '#'
    for i in value:
      a1 = i // 16
      a2 = i % 16
      string += digit[a1] + digit[a2]
    return string
  elif isinstance(value, str):
    a1 = digit.index(value[1]) * 16 + digit.index(value[2])
    a2 = digit.index(value[3]) * 16 + digit.index(value[4])
    a3 = digit.index(value[5]) * 16 + digit.index(value[6])
    return (a1, a2, a3)
def toStr(num, base):
    convertString = "0123456789ABCDEF"  # 最大转换为16进制
    num=int(num)
    base=int(base)
    if int(num) < int(base):
        return convertString[num]
    else:
        return toStr(num // base, base) + convertString[num % base]
def Normalization(x):
  return [(float(i) - min(x)) / float(max(x) - min(x)) for i in x]
import numpy as np
f=open('colorrate','r')
list=[]
for i in f.readlines():
    i=i.strip('\n')
    list.append(i)
arr=",".join(list)
#a=3.1
#print(int(round(a,0)))
#print(arr)
arr1=(0,6.666666667,12.90322581,13.79310345,14.03508772,15.38461538,15.78947368,16.66666667,18.75,19.04761905,19.07514451,19.61852861,19.6969697,20,20.19230769,20.23809524,20.68965517,20.77922078,21.42857143,21.55172414,21.73913043,22.1719457,22.85714286,23.06425041,23.07692308,23.42158859,23.59550562,23.62204724,23.72881356,23.84341637,24,24.05063291,24.24242424,24.32432432,24.69135802,25,25.31437944,25.5361596,25.6302521,26.26262626,26.58326818,26.77165354,26.77165354,26.82926829,26.88910697,26.89313517,26.90513219,27.35042735,27.84090909,27.96610169,28.20512821,28.44036697,29.03225806,29.09090909,29.62962963,30,30.3030303,30.35714286,30.43478261,30.64516129,31.20567376,31.36094675,31.49038462,31.49038462,31.57894737,31.64556962,31.81818182,31.94444444,32.65306122,32.95454545,33.33333333,33.33333333,34.34343434,35.13513514,35.71428571,36.36363636,36.36363636,38.46153846,42.10526316,44.30379747,47.05882353,55.55555556)
list2=Normalization(arr1)
for k in list2:
    #print(toStr((int(round(255-k*255,0))),16),toStr((int(round(0*255,0))),16),00)
    R=toStr((int(round(255-k*255,0))),16)
    G=toStr((int(round(k*255,0))),16)
    B='00'
    str='#'
    print(str+R+G+B)
    #print('\n')
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值