我想通过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数组?
答案 0 :(得分:4)
get_image
会返回Surface
。根据{{3}},您可以使用pygame.surfarray.array2d
(或surfarray
模块中的其他函数之一)将Surface转换为numpy数组。 E.g。
img = webcam.get_image()
data = pygame.surfarray.array2d(img)