gpt4 book ai didi

python - 如何使用 matplotlib 绘制 HSV 色轮

转载 作者:行者123 更新时间:2023-12-04 15:24:36 43 4
gpt4 key购买 nike

是否可以在python中使用matplotlib绘制HSV色轮?我想获得如下图所示的 HSV 色轮作为光流的引用图像。在这个图像中,每个 HSV 颜色都可以表示为一个向量,其中方向以色调编码,长度以饱和度编码,以便我可以轻松地将其与光流进行比较。我在网上搜索过,但找不到满意的解决方案。任何帮助将不胜感激!
enter image description here

最佳答案

以下代码使用 Colour对于 HSV 到 RGB 的转换:

def colour_wheel(samples=1024, clip_circle=True, method='Colour'):
xx, yy = np.meshgrid(
np.linspace(-1, 1, samples), np.linspace(-1, 1, samples))

S = np.sqrt(xx ** 2 + yy ** 2)
H = (np.arctan2(xx, yy) + np.pi) / (np.pi * 2)

HSV = colour.utilities.tstack([H, S, np.ones(H.shape)])
RGB = colour.HSV_to_RGB(HSV)

if clip_circle == True:
RGB[S > 1] = 0
A = np.where(S > 1, 0, 1)
else:
A = np.ones(S.shape)

if method.lower()== 'matplotlib':
RGB = colour.utilities.orient(RGB, '90 CW')
elif method.lower()== 'nuke':
RGB = colour.utilities.orient(RGB, 'Flip')
RGB = colour.utilities.orient(RGB, '90 CW')

R, G, B = colour.utilities.tsplit(RGB)

return colour.utilities.tstack([R, G, B, A])
Colour Wheel
我们在这个交互式 Jupyter Notebook Matplotlib Widget 中使用它:
HSV Control Widget
存储库在此处可用: https://github.com/colour-science/gamut-mapping-ramblings

关于python - 如何使用 matplotlib 绘制 HSV 色轮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62531754/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com