我正在尝试在pygame中使用叠加来显示视频。麻烦的是我的帧被加载为RGB Surface(),而Overlay()。display()需要YUV格式。
我看到pygame.camera模块包含一个colorspace()函数,该函数应该能够将RGB Surface()转换为YUV。有谁知道如何做到这一点?转换和显示?
pygame.camera.colorspace()没有很好的记录。
如果这不起作用,有没有人知道如何通过使用PIL转换为YUV来做到这一点?
答案 0 :(得分:0)
我还没有多少时间玩.Overlay()
但颜色空间功能似乎如下:
yuv_surface = pygame.camera.colorspace(rgb_surface,"YUV")
此示例运行时没有错误:
import pygame
import pygame.camera
pygame.init()
pygame.camera.init()
screen = pygame.display.set_mode((400,400))
rgb_surface = pygame.Surface((400,400))
yuv_surface = pygame.camera.colorspace(rgb_surface,"YUV")
screen.blit(yuv_surface,(0,0))
clock = pygame.time.Clock()
while True:
pygame.display.flip()
clock.tick(30)