5

我在 64 位华硕的 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 这样的路径,但对我来说还有什么悬而未决的。

4

1 回答 1

2
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 Folder}/doc/video/index.html”

于 2013-12-16T12:28:26.897 回答