首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CV2摄像机- Python

CV2摄像机- Python
EN

Stack Overflow用户
提问于 2020-10-11 21:34:57
回答 1查看 120关注 0票数 0

如何将cv2 capture应用于其他应用程序的实际相机?比如google meet,我想用cv2在我的相机上应用特效来吸引我的老师,我已经有了我想要的特效,但现在我不知道如何将它应用到我的实际相机上。

EN

回答 1

Stack Overflow用户

发布于 2021-01-21 11:38:16

为此,您需要创建一个假相机

对于Windows:您可以使用一个名为pyvirtualcam的模块

您必须使用pip安装它。

现在我们必须创建一个假摄像头,为此你必须去this link下载OBS-VirtualCamversion.zip

将其解压缩并导航到\ and您的计算机的bittedness

打开该目录中的命令提示符,然后键入

代码语言:javascript
运行
复制
regsvr32 /n /i:1 "obs-virtualsource.dll"

这将在您的计算机上注册一个假相机

现在,您可以使用pyvirtualcam向其发送帧

代码语言:javascript
运行
复制
import pyvirtualcam
import numpy as np

with pyvirtualcam.Camera(width=1280, height=720, fps=30) as cam:
    while True:
        frame = np.zeros((cam.height, cam.width, 4), np.uint8) # RGBA
        frame[:,:,:3] = cam.frames_sent % 255 # grayscale animation
        frame[:,:,3] = 255
        cam.send(frame)
        cam.sleep_until_next_frame()

对于Linux:您可以使用pyfakewebcam

要创建一个假相机,你必须运行modprobe v4l2loopback devices=2。这将创建2个假摄像头

然后你可以使用pyfakewebcam向它发送帧。

代码语言:javascript
运行
复制
import time
import pyfakewebcam
import numpy as np

blue = np.zeros((480,640,3), dtype=np.uint8)
blue[:,:,2] = 255

red = np.zeros((480,640,3), dtype=np.uint8)
red[:,:,0] = 255

camera = pyfakewebcam.FakeWebcam('/dev/video1', 640, 480)

while True:

    camera.schedule_frame(red)
    time.sleep(1/30.0)

    camera.schedule_frame(blue)
    time.sleep(1/30.0)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64304588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档