我已经在64位Asus的Ubuntu 12.10上安装了ARToolKit。安装没有错误,所以我认为还可以。但是,当我想尝试一个例子时,找不到相机。如果我在char *vconf = "";中没有填写任何内容,我会得到

No video config string supplied, using defaults.
ioctl failed

最常发现的解决方案意味着
char *vconf = "v4l2src device=/dev/video0 use-fixed-fps=false ! ffmpegcolorspace ! capsfilter caps=video/x-raw-rgb,width=640,height=480 ! identity name=artoolkit ! fakesink";
但这对我不起作用。我懂了
r@r-K55VD:~/Downloads/Artoolkit-on-Ubuntu-12.04-master/bin$ ./simpleTest
Using supplied video config string [v4l2src device=/dev/video0 use-fixed-fps=false ! ffmpegcolorspace ! capsfilter caps=video/x-raw-rgb,width=640,height=480 ! identity name=artoolkit ! fakesink].
ARVideo may be configured using one or more of the following options,
separated by a space:

DEVICE CONTROLS:
 -dev=filepath
    specifies device file.
 -channel=N
    specifies source channel.
 -noadjust
    prevent adjusting the width/height/channel if not suitable.
 -width=N
    specifies expected width of image.
 -height=N
    specifies expected height of image.
 -palette=[RGB|YUV420P]
    specifies the camera palette (WARNING:all are not supported on each camera !!).
IMAGE CONTROLS (WARNING: every options are not supported by all camera !!):
 -brightness=N
    specifies brightness. (0.0 <-> 1.0)
 -contrast=N
    specifies contrast. (0.0 <-> 1.0)
 -saturation=N
    specifies saturation (color). (0.0 <-> 1.0) (for color camera only)
 -hue=N
    specifies hue. (0.0 <-> 1.0) (for color camera only)
 -whiteness=N
    specifies whiteness. (0.0 <-> 1.0) (REMARK: gamma for some drivers, otherwise for greyscale camera only)
 -color=N
    specifies saturation (color). (0.0 <-> 1.0) (REMARK: obsolete !! use saturation control)

OPTION CONTROLS:
 -mode=[PAL|NTSC|SECAM]
    specifies TV signal mode (for tv/capture card).

找出确切放在char *vconf = " "中的内容的方法论方法是什么?因为我觉得我随机尝试了许多变体,但没有任何效果。我知道它需要一个类似/dev/video0的路径,但是对我来说似乎还有其他的问题。

最佳答案

char *vconf = "v4l2src device=/dev/video0 use-fixed-fps=false !
ffmpegcolorspace ! capsfilter
caps=video/x-raw-rgb,width=640,height=480 ! identity name=artoolkit !
fakesink";

您尝试的上述配置适用于GStreamer驱动程序。
由于您使用的是VideoLinuxV4L,而不是上面的用法:
char *vconf = "-dev=/dev/video0 ";

有关更多信息,请参阅“{ARtoolkit文件夹}/doc/video/index.html”

10-08 20:03