我想知道是否可以使用“opencv”在 v4l2 设备上写入。
我会拍一张照片,利用 opencv 的功能进行一些小的更改,然后将其发送到 v4l2 设备上。
我在网上搜索了一下,但是有很多关于如何从V4L2设备读取的示例,但我没有找到关于在v4l2上写入的内容。
有人能帮我吗?
这个问题已经有 8 个月了,但如果你仍然需要答案(我想你的操作系统是 Linux):
-
安装v4l2 loopback https://github.com/umlaeute/v4l2loopback module
1.1.加载并配置它linux: i.e. modprobe.conf: options v4l2loopback video_nr=22,23
-
使用这样的C++/OpenCV
code: gist https://gist.github.com/thearchitect/96ab846a2dae98329d1617e538fbca3c
2.1.使用 ioctl() 调用设置设备
2.2.将原始 RGB 数据写入该设备(即/dev/video23
)
2.3.将其用作常规 v4l2 设备(即网络摄像头或vlc v4l2:///dev/video23
)
更多:您可以使用ffmpeg
with v4l2 loopback
:
ffmpeg -f x11grab -r 12 -s 1920x1080 -i :0.0+0,0 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 -vf 'scale=800:600' /dev/video22
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)