【问题标题】:Get HSV values of pixels on surface in pygame在pygame中获取表面像素的HSV值
【发布时间】:2015-02-05 10:58:17
【问题描述】:

我在 pygame 中设置我的网络摄像头以使用 HSV 颜色空间。但是 pygame.Surface.get_at 只返回 RGB 颜色值。 pygame中有没有读取像素HSV值的方法?

如果不是,在 pygame 中将所有像素颜色转换为 HSV 的推荐方法是什么?

【问题讨论】:

标签: pygame rgb hsv pygame-surface


【解决方案1】:

你可以使用python的colorsys模块。

它包含一个函数rgb_to_hsv,您可以使用该函数将 RGB 值转换为 HSV 值。

【讨论】:

  • 谢谢。但我已经使用 colorsys 和 pygames pygame.Color.hsva 将 RGB 转换为 HSV 值。它可以工作,但即使我使用 160x120 等小分辨率,转换也很慢。
  • 好的。也许你想试试 mathplotlib?它提供了一个处理 numpy 数组的 rgb_to_hsv 函数。您可以使用 pygame 的 surfarray 模块创建这样的数组。抱歉,我目前无法自己测试。
  • 谢谢@sloth。 mathplotlib 的 rgb_to_hsv 函数完成了这项工作: rgb = pygame.surfarray.pixels3d(image) hsv = matplotlib.colors.rgb_to_hsv(rgb / 255.0)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多