2015-02-05 2 views
0

파이 게임에서 웹캠을 설정하여 HSV 색상 공간을 사용합니다. 하지만 pygame.Surface.get_at는 RGB 색상 값만 반환합니다. 파이 게임에서 픽셀의 HSV 값을 읽는 방법이 있습니까?파이 게임에서 표면의 픽셀의 HSV 값을 얻으십시오

그렇지 않은 경우 파이 게임에서 모든 픽셀 색상을 HSV로 변환하는 권장 방법은 무엇입니까?

+0

이 페이지 확인 : http://www.cs.rit.edu/~ncs/color/t_convert.html – jordsti

답변

0

파이썬의 colorsys 모듈을 사용할 수 있습니다.

여기에는 RGB 값을 HSV 값으로 변환하는 데 사용할 수있는 rgb_to_hsv 함수가 포함되어 있습니다.

+0

감사합니다. 하지만 이미 colorsys와 pygames pygame.Color.hsva를 사용하여 RGB를 HSV 값으로 변환했습니다. 그것은 작동하지만, 160x120과 같은 작은 해상도로 작업하더라도 변환 속도가 느립니다. – zelyev

+0

확인. 어쩌면 mathplotlib를 시험해보고 싶습니까? 그것은 numpy 배열에서 작동하는 [rgb_to_hsv] (http://matplotlib.org/api/colors_api.html#matplotlib.colors.rgb_to_hsv) 함수를 제공합니다. pygame의'surfarray' 모듈을 사용하여 그러한 배열을 만들 수 있습니다. 죄송하지만 지금은이 순간을 테스트 할 수 없습니다. – sloth

+0

고마워요. mathplotlib의 rgb_to_hsv 함수는 다음 작업을 수행했습니다. rgb = pygame.surfarray.pixels3d (이미지) hsv = matplotlib.colors.rgb_to_hsv (rgb/255.0) – zelyev