範圍0-255 內的RGB 到HSV 和HSV 到RGB 轉換的演算法
提出了一種用於轉換RGB 顏色的色彩空間轉換演算法值轉換為HSV,反之亦然,在兩個色彩空間中保持0 到255 的範圍。其操作方式如下:
RGB 到HSV 轉換(rgb2hsv)
將RGB 值(r, g, b) 轉換為HSV (h, s, v):
- 決定r、g 和b 之間的最小值和最大值。
- 計算值分量 (v) 為最大值。
- 計算飽和度分量 (s) 作為(v - 最小值)與 v 的比例。
-
確定色調分量(h):
- 如果r 最大,則h 計算為(g - b) / (v - 最小值
- 若g 最大,h 為2.0 (b - r) / (v - 最小值)。最大,h 為4.0 (r - g) / (v - 最小值)。 360 度。 (hsv2rgb)
- 轉換HSV 值(h, s, v)轉換為RGB (r, g, b):
如果s 為零,則設定r、g 和b 到v。 (i)。 .-
- 基於i,為r、g 和b 賦值:
情況0:r=v , g=t, b=p
情況1: r=q, g=v, b=p
情況2:r=p,g=v,b=t-
情況3:r=p,g=q,b=v- 情況4: r=t, g=p, b=v
- 情況5: r=v, g=p, b=q
-
- 這些函數可以實現RGB 和HSV 顏色空間之間高效、準確的轉換,這對於涉及顏色操作和影像處理的應用程式至關重要。
以上是如何將 RGB 轉換為 HSV 以及 HSV 轉換為 RGB 0-255 範圍內的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!