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