Pygame - 使用相机模块


Pygame 1.9.6 之前的早期版本包含 pygame.camera 模块。该模块包含捕获游戏窗口上的摄像头信息并从中抓取图像的功能。系统可用的相机设备在 list_cameras() 方法返回的列表中枚举。

pygame.camera.list_cameras()

要初始化相机对象,请使用相机 ID、分辨率和格式参数。

pygame.camera.Camera(device, (width, height), format)

默认格式为 RGB。宽度和高度参数默认为 640x480。

相机模块在 Camera 类中定义了以下方法。

pygame.camera.Camera.start() 打开、初始化并开始捕获
pygame.camera.Camera.stop() 停止、取消初始化并关闭相机
pygame.camera.Camera.get_controls() 获取用户控件的当前值
pygame.camera.Camera.set_controls() 如果相机支持,则更改相机设置
pygame.camera.Camera.get_size() 返回正在记录的图像的尺寸
pygame.camera.Camera.query_image() 检查框架是否准备好
pygame.camera.Camera.get_image() 将图像捕获为 Surface
pygame.camera.Camera.get_raw() 以字符串形式返回未修改的图像

例子

以下程序从计算机的默认网络摄像头捕获实时信息。

import pygame
import pygame.camera

pygame.init()

gameDisplay = pygame.display.set_mode((640,480))

pygame.camera.init()
print (pygame.camera.list_cameras())
cam = pygame.camera.Camera(0)
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 操作系统上,您可能需要安装 Videocapture 模块。

pip3 install VideoCapture

输出

视频截取