如何将opencv映像(IplImage)写入V4L2环回设备?

时间:2012-06-30 00:03:21

标签: c++ c linux opencv v4l2

正如标题所说,我不知道如何将IplImage写入V4l2环回设备。我知道如何写一个设备,就像我在这里发布How to write/pipe to a virtual webcam created by V4L2loopback module?

一样

但现在我不确定如何将IplImage对象完全写入设备。如果我只是写image-> imageData,其中image是IplImage *,当我使用“luvcview”查看设备时,格式错误的帧会显示大约一秒,然后它会抛出以下错误。

luvcview 0.2.6

SDL information:
  Video driver: x11
  A window manager is available
Device information:
 Device path:  /dev/video3
Stream settings:
  Frame format: YUYV (MJPG is not supported by device)
  Frame size:   520x474 (requested size 640x480 is not supported by device)
  Frame rate:   30 fps
libv4l2: error dequeuing buf: Invalid argument
Unable to dequeue buffer: Invalid argument
Error grabbing
Cleanup done. Exiting ...

可能是因为我还没有将opencv图像转换为v4l2格式吗?或者v4l2参数与IplImage属性不匹配?如果是这样怎么办?

如果有人知道这个错误意味着什么,请告诉我。

我决定单独发布这个问题,因为这个问题不是关于写入设备,特别是关于将IplImage写入设备。

有谁能请给我一个代码片段,说明如何将IplImage写入V4l2环回设备?

1 个答案:

答案 0 :(得分:0)

我发现上述问题不再是问题,因为看起来luvcview或skype并不完全支持v4l2。但是,如果我使用VLC播放器查看环回设备,它可以正常工作。