Python RGB 와 HSV 색상 이 서로 바 뀌 었 습 니 다.

3976 단어 python
다음으로 이동:http://outofmemory.cn/code-snippet/1002/Python-RGB-HSV-color-together-switch
 
Python RGB 와 HSV 색상 이 서로 바 뀌 었 습 니 다.
import math

def hsv2rgb(h, s, v):
    h = float(h)
    s = float(s)
    v = float(v)
    h60 = h / 60.0
    h60f = math.floor(h60)
    hi = int(h60f) % 6
    f = h60 - h60f
    p = v * (1 - s)
    q = v * (1 - f * s)
    t = v * (1 - (1 - f) * s)
    r, g, b = 0, 0, 0
    if hi == 0: r, g, b = v, t, p
    elif hi == 1: r, g, b = q, v, p
    elif hi == 2: r, g, b = p, v, t
    elif hi == 3: r, g, b = p, q, v
    elif hi == 4: r, g, b = t, p, v
    elif hi == 5: r, g, b = v, p, q
    r, g, b = int(r * 255), int(g * 255), int(b * 255)
    return r, g, b

def rgb2hsv(r, g, b):
    r, g, b = r/255.0, g/255.0, b/255.0
    mx = max(r, g, b)
    mn = min(r, g, b)
    df = mx-mn
    if mx == mn:
        h = 0
    elif mx == r:
        h = (60 * ((g-b)/df) + 360) % 360
    elif mx == g:
        h = (60 * ((b-r)/df) + 120) % 360
    elif mx == b:
        h = (60 * ((r-g)/df) + 240) % 360
    if mx == 0:
        s = 0
    else:
        s = df/mx
    v = mx
    return h, s, v

 
R, G, B 는 [0, 255] 입 니 다. H 는 [0, 360] 입 니 다. S, V 는 [0, 1] 입 니 다.
배경 지식:
RGB 는 모두 가 잘 알 고 있 습 니 다. 빨간색, 녹색, 파란색 세 가지 값 입 니 다.
HSV 가 뭐 죠? HSV (Hue, Saturation, Value) 는 색 의 직관 적 특성 에 따라 A. R. Smith 가 1978 년 에 만 든 색 공간 으로 육각 추 체 모형 (Hexcone Model) 이 라 고도 부른다.이 모델 에서 색상 의 매개 변 수 는 색조 (H), 포화 도 (S), 밝기 (V) 입 니 다.   HSV 색상 공간 모델 색조 H: 각도 로 측정 하고 수치 범 위 는 0 ° ~ 360 ° 이 며 빨간색 부터 시계 반대 방향 으로 계산 합 니 다. 빨간색 은 0 ° 이 고 녹색 은 120 ° 이 며 파란색 은 240 ° 입 니 다.그들의 보색 은 노란색 은 60 ° 이 고 파란색 은 180 ° 이 며 빨간색 은 300 ° 이다.포화 도 S: 수치 범 위 는 0. 0 ~ 1.0 이다.밝기 V: 수치 범 위 는 0.0 (검은색) ~ 1.0 (흰색) 입 니 다.RGB 와 CMY 색상 모델 은 모두 하드웨어 를 위 한 것 이 고 HSV (Hue Saturation Value) 색상 모델 은 사용 자 를 위 한 것 이다.HSV 모델 의 3 차원 은 RGB 입방체 에서 진화 한 것 을 나타 낸다.RGB 에서 입방체 대각선 의 흰색 정점 을 따라 검은색 정점 으로 관찰 하면 입방체 의 육각형 외형 을 볼 수 있다.육각형 경 계 는 색 채 를 나타 내 고 수평 축 은 순 도 를 나타 내 며 명 도 는 수직 축 에 따라 측정 한다.
 
다음으로 전송:https://www.cnblogs.com/huangshiyu13/p/7521105.html

좋은 웹페이지 즐겨찾기