Pygame - 使用 Camera 相机模块
Pygame 1.9.6 之前的早期版本包含 pygame.camera 模块。 该模块包含捕获游戏窗口上的摄像头源并从中获取图像的功能。 系统可用的相机设备在 list_cameras() 方法返回的列表中枚举。
pygame.camera.list_cameras()
要初始化相机对象,请使用相机 ID、分辨率和格式参数。
pygame.camera.Camera(device, (width, height), format)
默认格式为 RGB。 宽度和高度参数默认为 640x480。
camera 相机模块在 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
输出

