【问题标题】:Using Raspberry Pi Camera for Webcam with Lower Third Overlay将 Raspberry Pi 摄像头用于具有下三分之一覆盖的网络摄像头
【发布时间】:2020-09-30 21:20:51
【问题描述】:

我正在使用来自 Raspberry PiCamera 网站here 的 Python 脚本示例在摄像机显示屏上显示“下三分之一”图形。然后我计划捕获该 HDMI 视频(HDMI 到 USB 适配器)并在视频会议(Zoom、Google Meet 等)期间使用它。

我想要做的是让脚本在不重新启动脚本的情况下更新图像。它可能只是每隔几秒钟,或者它可以观察文件,当它发生变化时,重新加载它。

这是现在的脚本。我不是 Python 专家,所以我想我会来这里。谢谢!

import picamera

from PIL import Image
from time import sleep

with picamera.PiCamera() as camera:
  camera.start_preview()
  img = Image.open('lol.gif')
  pad = Image.new('RGBA', (
      ((img.size[0] + 31) // 32) * 32,
      ((img.size[1] + 15) // 16) * 16,
      ))
  pad.paste(img, (0, 0), img)
  o = camera.add_overlay(pad.tostring(), size=img.size)
  o.alpha = 255
  o.layer = 3

while True:
    sleep(1)

【问题讨论】:

    标签: python raspberry-pi camera


    【解决方案1】:

    好的,我编写了代码来查看文件的修改日期并重新加载它已更改。它可能并不完美,但它确实有效。它与下三分之一的图形一起位于 /home/pi/camera 中。都是 1920x1080 带 Alpha 通道的 PNG 文件。

    import picamera
    import os.path, time
    
    from PIL import Image
    from time import sleep
    
    filename = "/home/pi/camera/lower-third.png"
    
    with picamera.PiCamera() as camera:
    
      camera.start_preview()
      img = Image.open(filename)
      pad = Image.new('RGBA', (
          ((img.size[0] + 31) // 32) * 32,
          ((img.size[1] + 15) // 16) * 16,
          ))
      pad.paste(img, (0, 0), img)
      o = camera.add_overlay(pad.tobytes(), size=img.size)
      o.alpha = 255
      o.layer = 3
      ft = time.ctime(os.path.getmtime(filename))
    
      while True:
        sleep(1)
        nft = time.ctime(os.path.getmtime(filename))
        if nft != ft:
          ft = nft
          img = Image.open(filename)
          pad = Image.new('RGBA', (
              ((img.size[0] + 31) // 32) * 32,
              ((img.size[1] + 15) // 16) * 16,
              ))
          pad.paste(img, (0, 0), img)
          camera.remove_overlay(o)
          o = camera.add_overlay(pad.tobytes(), size=img.size)
          o.alpha = 255
          o.layer = 3
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-04
      • 1970-01-01
      • 1970-01-01
      • 2020-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多