从pygame获取numpy数组

时间:2013-11-14 16:18:03

标签: python arrays numpy

我想通过python访问我的网络摄像头。不幸的是,由于网络摄像头,openCV无法正常工作。 Pygame.camera就像这个代码的魅力一样:

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数组?

1 个答案:

答案 0 :(得分:4)

get_image会返回Surface。根据{{​​3}},您可以使用pygame.surfarray.array2d(或surfarray模块中的其他函数之一)将Surface转换为numpy数组。 E.g。

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