Python RGB 와 HSV 색상 이 서로 바 뀌 었 습 니 다.
3976 단어 python
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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.