所以,我想编写一个程序,使 OpenCV 处理后的输出被视为网络摄像头。我想用它为 Skype 等程序创建效果。我被困住了,谷歌搜索没有得到任何帮助。请帮我。我需要为此找司机吗?存储为 AVI 并通过其他应用程序流式传输该 AVI 怎么样?
我想编写一个程序来遮盖我的脸,这样当我与我正在辅导但不认识的人进行 Skype 通话时,我就不需要担心我的隐私!
顺便说一句,我对 C++ 还很陌生。然而,这是我更喜欢的语言。不过,我也了解 Java 和 Python。
您是否建议我尝试获取另一个库/库集合,例如 OpenFrameworks?
我正在用 C++ 对 OpenCV 进行编程。以下是我可以使用的所有平台:
乌班图:
来自 apt-get 的 OpenCV,带有 pkg-config、QT Creator
乌班图:
来自 apt-get 的 OpenCV,带有 pkg-config 和 libfreenect、QT Creator
Windows 7的:
OpenCV 2.4.8.0,最新二进制文件,x86,Visual Studio 2010 Express
Windows 7的:
未安装 OpenCV
Windows 8.1 专业版:
OpenCV 2.4.8.0,最新二进制文件,x86,Visual Studio Express 2013 Express Desktop,Hyper-V,与 Windows 7:1 相同的配置
我注意到有点混乱。我正在尝试使用打开的简历的流程输出并将其发送到另一个程序(例如 Skype)。主要目的是教小学生编程和 OpenCV。我想直接流式传输输出,这样我就不必共享我的桌面。
我也遇到了同样的问题:我祖母的听力很差,所以我希望能够为我的 Skype 视频源添加字幕。我还想添加一些笑声效果。我无法得到网络摄像头 https://webcamoid.github.io/在职的。屏幕捕获方法(上面提到的)似乎太老套了,我无法让 Skype 检测 ffmpegs 虚拟输出摄像头(尽管 guvcview 检测到)。然后我遇到了这个:
https://github.com/jremmons/pyfakewebcam https://github.com/jremmons/pyfakewebcam
它不是 C++,而是 Python。尽管如此,在我的普通笔记本电脑上它已经足够快了。它可以创建多个虚拟网络摄像头(我只需要两个)。它也适用于 Python3。自述文件中提到的步骤很容易在 Ubuntu 18.04 上重现。 2-3 分钟内,示例代码就开始运行。在撰写本文时,给出的示例并未使用来自真实网络摄像头的输入。因此,我添加了代码,该代码处理真实网络摄像头的输入并将其输出到两个虚拟摄像头:
import cv2
import time
import pyfakewebcam
import numpy as np
IMG_W = 1280
IMG_H = 720
cam = cv2.VideoCapture(0)
cam.set(cv2.CAP_PROP_FRAME_WIDTH, IMG_W)
cam.set(cv2.CAP_PROP_FRAME_HEIGHT, IMG_H)
fake1 = pyfakewebcam.FakeWebcam('/dev/video1', IMG_W, IMG_H)
fake2 = pyfakewebcam.FakeWebcam('/dev/video2', IMG_W, IMG_H)
while True:
ret, frame = cam.read()
flipped = cv2.flip(frame, 1)
# Mirror effect
frame[0 : IMG_H, IMG_W//2 : IMG_W] = flipped[0 : IMG_H, IMG_W//2 : IMG_W]
fake1.schedule_frame(frame)
fake2.schedule_frame(flipped)
time.sleep(1/15.0)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)