2013-11-14 2 views
2

Я хочу получить доступ к своей веб-камере через python. К сожалению, openCV не работает из-за веб-камеры. Pygame.camera работает как шарм с этим кодом:получить массив numpy из pygame

from pygame import camera,display 

camera.init() 
webcam = camera.Camera(camera.list_cameras()[0]) 
webcam.start() 

img = webcam.get_image() 

screen = display.set_mode((img.get_width(), img.get_height())) 
display.set_caption("cam") 

while True: 
    screen.blit(img, (0,0)) 
    display.flip() 
    img = webcam.get_image() 

Мой вопрос теперь, как я могу получить Numpy массив из веб-камеры?

+0

У меня возникли проблемы с переходом с веб-камеры на массив numpy - вы пытаетесь получить массив пикселей из изображения? – thegrinner

ответ

2

get_image возвращает Surface. Согласно http://www.pygame.org/docs/ref/surfarray.html, вы можете использовать pygame.surfarray.array2d (или одну из других функций модуля surfarray), чтобы преобразовать поверхность в массив numpy. Например.

img = webcam.get_image() 
    data = pygame.surfarray.array2d(img) 
+0

Отлично Спасибо –

Смежные вопросы