V4l2 上的 OpenCV 输出

Mas*_*sso 7 opencv v4l2

我想知道我是否可以使用“opencv”在 v4l2 设备上写入。我会拍张照片,使用 opencv 的功能进行一些小的更改,然后将其发送到 v4l2 设备上。

我在网上搜索过,但是有很多关于如何从 V4L2 设备读取的示例,但我没有发现有关在 v4l2 上写入的内容。

有人能帮我吗?

The*_*ect 9

这个问题已经有 8 个月了,但是如果您仍然需要答案(我想您的操作系统是 Linux):

  1. 安装 v4l2 loopback模块

    1.1. 加载并配置它linux: i.e. modprobe.conf: options v4l2loopback video_nr=22,23

  2. 使用这样的C++/OpenCV代码:gist

    2.1. 使用 ioctl() 调用设置设备

    2.2. 将原始 RGB 数据写入此设备(即/dev/video23

    2.3. 将其用作常规 v4l2 设备(即网络摄像头或vlc v4l2:///dev/video23

更多:你可以用ffmpegv4l2 loopbackffmpeg -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