python rgb转hsv_利用PIL实现RGB到HSV的转换

def hsb2rgb(hsb):

'''

Transforms a hsb array to the corresponding rgb tuple

In: hsb = array of three ints (h between 0 and 360, s and v between 0 and 100)

Out: rgb = array of three ints (between 0 and 255)

'''

H = float(hsb[0] / 360.0)

S = float(hsb[1] / 100.0)

B = float(hsb[2] / 100.0)

if (S == 0):

R = int(round(B * 255))

G = int(round(B * 255))

B = int(round(B * 255))

else:

var_h = H * 6

if (var_h == 6):

var_h = 0 # H must be < 1

var_i = int(var_h)

var_1 = B * (1 - S)

var_2 = B * (1 - S * (var_h - var_i))

var_3 = B * (1 - S * (1 - (var_h - var_i)))

if (var_i == 0):

var_r = B ; var_g = var_3 ; var_b = var_1

elif (var_i == 1):

var_r = var_2 ; var_g = B ; var_b = var_1

elif (var_i == 2):

var_r = var_1 ; var_g = B ; var_b = var_3

elif (var_i == 3):

var_r = var_1 ; var_g = var_2 ; var_b = B

elif (var_i == 4):

var_r = var_3 ; var_g = var_1 ; var_b = B

else:

var_r = B ; var_g = var_1 ; var_b = var_2

R = int(round(var_r * 255))

G = int(round(var_g * 255))

B = int(round(var_b * 255))

return [R, G, B]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值