> 백엔드 개발 > C++ > RGB를 HSV로 변환하고 0-255 범위 내에서 다시 되돌리는 방법은 무엇입니까?

RGB를 HSV로 변환하고 0-255 범위 내에서 다시 되돌리는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-11 18:24:15
원래의
823명이 탐색했습니다.

How to Convert RGB to HSV and Back Again Within the 0-255 Range?

0~255 범위 내에서 RGB를 HSV로, HSV를 RGB로 변환

RGB(Red, Green, Blue) 간 색상 표현 변환 HSV(Hue, Saturation, Value)는 이미지 처리와 컴퓨터 그래픽에 필수적인 요소입니다. 이 변환에서는 정확한 변환을 위해 특정 범위 내의 색상 값을 변환해야 합니다.

RGB에서 HSV로 변환

RGB에서 HSV로 변환에는 다음 단계가 포함됩니다.

  1. RGB 값 정규화: RGB 값을 255로 나눕니다. 0과 1 사이에서 크기를 조정합니다.
  2. 최소값과 최대값 찾기: RGB 구성 요소 중에서 최소값과 최대값을 결정합니다.
  3. 값(V)을 계산합니다. ): 값은 최대 RGB와 같습니다. 값.
  4. 채도 계산(S): 다음 공식을 사용하여 채도를 계산합니다.

    S = (V - min) / V
    로그인 후 복사
  5. 색조 계산 (H): RGB의 상대값을 기반으로 조건문을 사용하여 색상을 결정합니다. 구성요소:

    if (R >= G && R >= B):
     H = (G - B) / (V - min)
    elif (G >= R && G >= B):
     H = 2 + (B - R) / (V - min)
    else:
     H = 4 + (R - G) / (V - min)
    로그인 후 복사
  6. 도로 변환: 색상 값에 60을 곱하여 각도를 얻습니다.

HSV에서 RGB로 변환

HSV에서 RGB로의 변환은 다음과 같이 진행됩니다. 다음:

  1. HSV 값 정규화: 색조가 0~360도 범위 내에 있고 채도와 값이 0~1 내에 있는지 확인하세요.
  2. 색상 지수 찾기: 색상의 정수 지수를 결정합니다. 색상:

    i = int(H / 60.0)
    로그인 후 복사
  3. 분수 부분 계산: 색상의 분수 부분 계산:

    ff = H / 60.0 - i
    로그인 후 복사
  4. 기본 RGB 설정 값:

    R = G = B = V
    로그인 후 복사
  5. RGB 값 계산: 색상 지수를 기준으로 RGB 값 조정:

    if (i == 0):
     B = p
    elif (i == 1):
     R = q
    elif (i == 2):
     G = p
    elif (i == 3):
     R = p
    elif (i == 4):
     B = t
    elif (i == 5):
     G = p
    로그인 후 복사
  6. RGB 값 정규화: RGB 값에 다음을 곱합니다. 255를 사용하여 0~255 범위를 복원합니다.

위 내용은 RGB를 HSV로 변환하고 0-255 범위 내에서 다시 되돌리는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿