色坐标转换的python代码
时间: 2023-11-12 13:11:21 浏览: 48
色坐标转换通常涉及到色彩空间的转换,比如RGB到CMYK、RGB到Lab等。下面是一些常见色坐标转换的Python代码示例:
1. RGB到CMYK的转换:
```python
def rgb_to_cmyk(r, g, b):
c = 1 - r / 255
m = 1 - g / 255
y = 1 - b / 255
k = min(c, m, y)
if k == 1:
c = m = y = 0
else:
c = (c - k) / (1 - k)
m = (m - k) / (1 - k)
y = (y - k) / (1 - k)
return round(c, 2), round(m, 2), round(y, 2), round(k, 2)
```
2. RGB到Lab的转换:
```python
import numpy as np
from skimage import color
def rgb_to_lab(r, g, b):
rgb = np.uint8([[r, g, b]])
lab = color.rgb2lab(rgb)
return lab[0][0], lab[0][1], lab[0][2]
```
3. RGB到HSV的转换:
```python
def rgb_to_hsv(r, g, b):
r, g, b = r / 255.0, g / 255.0, b / 255.0
max_val = max(r, g, b)
min_val = min(r, g, b)
diff = max_val - min_val
if max_val == min_val:
h = 0
elif max_val == r:
h = (60 * ((g - b) / diff) + 360) % 360
elif max_val == g:
h = (60 * ((b - r) / diff) + 120) % 360
else:
h = (60 * ((r - g) / diff) + 240) % 360
if max_val == 0:
s = 0
else:
s = (diff / max_val) * 100
v = max_val * 100
return round(h, 2), round(s, 2), round(v, 2)
```
以上是一些常见的色坐标转换的Python代码示例,可以根据自己的需求进行修改和扩展。