如何在Windows中用pygame打开相机?

How to open camera with pygame in Windows?

我想在 Windows 7 机器上使用 pygame 模块用 Python 打开相机,但它不起作用。我之前用过"/dev/video0",就是Linux里面的读设备。 pygame 文档仅显示了如何在 Linux 中打开相机设备。我正在使用 pygame 版本 1.9.1 和 Python 2.7.

如何在 Windows 设备上打开相机?当我尝试我现有的脚本时,我得到的错误是:

File "E:/test_python/open_cam2.py", line 10, in <module>
    cam = pygame.camera.Camera("/dev/video0", (640, 480))
File "C:\Python27\lib\site-packages\pygame_camera_vidcapture.py", line 47, in init
    self.dev = vidcap.new_Dev(device, show_video_window)
TypeError: an integer is required

试试这个,

 import pygame.camera
 import pygame.image
 import sys

 pygame.camera.init()

 cameras = pygame.camera.list_cameras()

 print "Using camera %s ..." % cameras[0]

 webcam = pygame.camera.Camera(cameras[0])

 webcam.start()

 # grab first frame
 img = webcam.get_image()

 WIDTH = img.get_width()
 HEIGHT = img.get_height()

 screen = pygame.display.set_mode( ( WIDTH, HEIGHT ) )
 pygame.display.set_caption("pyGame Camera View")

 while True :
     for e in pygame.event.get() :
         if e.type == pygame.QUIT :
             sys.exit()

     # draw frame
     screen.blit(img, (0,0))
     pygame.display.flip()
     # grab next frame    
     img = webcam.get_image()

这应该有效...

import pygame
import pygame.camera

pygame.init()

gameDisplay = pygame.display.set_mode((1280,720), pygame.RESIZABLE)

pygame.camera.init()
cam = pygame.camera.Camera(0,(1280,720))
cam.start()
while True:
    img = cam.get_image()
    gameDisplay.blit(img,(0,0))
    pygame.display.update()
    for event in pygame.event.get() :
        if event.type == pygame.QUIT :
            cam.stop()
            pygame.quit()
            exit()

我正在使用 windows 10 , pygame 版本 1.9.6