Pygame 使用相机模块
早期的Pygame版本到1.9.6都包含pygame.camera模块。这个模块包含了在游戏窗口中捕获摄像机画面并从中抓取图像的功能。系统可用的摄像机设备被列举在list_cameras()方法返回的列表中。
pygame.camera.list_cameras()
要初始化一个相机对象,请使用相机ID、分辨率和格式参数。
pygame.camera.Camera(device, (width, height), format)
默认的格式是RGB。宽度和高度参数默认为640×480。
相机模块在相机类中定义了以下方法。
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
输出