bttv相机移动机器人的问题 - 初始化嘈杂的图像

时间:2013-06-15 18:52:38

标签: linux video-capture robot v4l2

我正在使用Ubuntu 12.04 LTS。我们在移动机器人上从手持式相机接收无噪声图像时遇到问题。

使用BTTV PCI设备收集摄像机图像,特别是bt878驱动程序。 BTTV设备是基于Bt848芯片的PCI-104卡,并且在Linux下由bttv和相关的内核驱动程序模块支持。这些设备是一个仅限捕获的卡 - 这意味着视频可以直接从视频源获取,而无需使用调谐器。帧抓取器连接到车载计算机Sensorary 311(所以bttv卡= 73)

安装的bttv驱动程序是0.9.19版。网络摄像头存在于dev / video0中。

$ dmesg |grep bttv
[    1.937779] bttv: driver version 0.9.19 loaded
[    1.937783] bttv: using 8 buffers with 2080k (520 pages) each for capture
[    1.937850] bttv: Bt8xx card found (0)
[    1.937873] bttv: 0: Bt878 (rev 17) at 0000:04:01.0, irq: 16, latency: 32, mmio: 0xdfdfe000
[    1.937888] bttv: 0: detected: Sensoray 311 [card=73], PCI subsystem ID is 6000:0311
[    1.937890] bttv: 0: using: Sensoray 311/611 [card=73,autodetected]
[    1.940185] bttv: 0: tuner absent
[    1.940313] bttv: 0: registered device video0
[    1.940591] bttv: 0: registered device vbi0

加载的模块如下:

$ lsmod | grep video

videodev              105518  2 bttv,v4l2_common
media                  20516  1 videodev
videobuf_dma_sg        18711  1 bttv
videobuf_core          25098  2 bttv,videobuf_dma_sg
video                  19117  1 i915

$ lsmod

Module                  Size  Used by
bt878                  13588  0 
rfcomm                 38104  0 
bnep                   17791  2 
bluetooth             189585  10 rfcomm,bnep
parport_pc             32115  0 
ppdev                  12850  0 
coretemp               13362  0 
kvm                   365588  0 
snd_hda_codec_idt      60238  1 
gpio_ich               13160  0 
snd_hda_intel          32983  3 
snd_hda_codec         116477  2 snd_hda_codec_idt,snd_hda_intel
snd_hwdep              13277  1 snd_hda_codec
snd_pcm                81124  2 snd_hda_intel,snd_hda_codec
microcode              18396  0 
snd_seq_midi           13133  0 
snd_rawmidi            25426  1 snd_seq_midi
psmouse                91381  0 
snd_seq_midi_event     14476  1 snd_seq_midi
snd_seq                51594  2 snd_seq_midi,snd_seq_midi_event
bttv                  116393  1 bt878
v4l2_common            20517  1 bttv
videodev              105518  2 bttv,v4l2_common
media                  20516  1 videodev
videobuf_dma_sg        18711  1 bttv
serio_raw              13032  0 
snd_timer              28932  2 snd_pcm,snd_seq
snd_seq_device         14138  3 snd_seq_midi,snd_rawmidi,snd_seq
videobuf_core          25098  2 bttv,videobuf_dma_sg
btcx_risc              13401  1 bttv
rc_core                21172  1 bttv
tveeprom               17010  1 bttv
mac_hid                13078  0 
snd                    62675  15 snd_hda_codec_idt,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
i915                  479158  2 
drm_kms_helper         47459  1 i915
lpc_ich                16993  0 
drm                   240232  3 i915,drm_kms_helper
i2c_algo_bit           13317  2 bttv,i915
soundcore              14636  1 snd
snd_page_alloc         14109  2 snd_hda_intel,snd_pcm
video                  19117  1 i915
lp                     17456  0 
parport                40931  3 parport_pc,ppdev,lp
e1000e                177679  0 

我们认为bt878驱动程序已正确加载,并且帧抓取器正常工作。当相机关闭电源时,帧抓取器(在camorama,vlc或gstreamer属性程序中查看)为蓝色,当相机通电时,从相机接收的图像非常嘈杂。无法检测到任何功能,但可以看到光线的变化。

我们已经让相机正常工作(暗示驱动程序正常),但它似乎几乎是随机的,并且取决于我们使用的查看程序和顺序。一旦相机工作,它将继续工作,直到我们关闭机器人。我们认为这意味着相机未正确初始化,因此发送噪声数据也是如此。有没有人知道初始化链接到BTTV PCI设备的摄像头的好方法,除了确保摄像头开机之外?

具体来说,相机是操纵器的一部分,操纵器安装在Mobile Robotics的SeekurJr机器人上。在查看流之前,需要初始化操纵器(打开相机),我们这样做。

相机是RVision SEE相机。

问题:我们如何初始化相机?关于如何修复噪音的任何其他想法?

1 个答案:

答案 0 :(得分:0)

我猜你会遇到硬件问题,无论是使用相机还是使用相机都可以使用相机。

  • 确保您的相机安装了光学元件

  • 尝试将相机连接到另一台显示设备(例如一台带复合输入的旧模拟电视),看看你是否还有那个嘈杂的图像

  • 尝试将另一台相机连接到您的framegrabber卡上,看看图片是什么样的。

来自bttv端,唯一可以提供帮助的配置是选择正确的视频规范,例如:相机和抓取器是否同意他们使用 PAL NTSC 或其他(当然还有各种子格式)。

  • 尝试使用任何查看器程序更改标准,允许在播放期间,例如xawtv

PS:当相机关机时你得到漂亮的蓝色图像这一事实意味着,帧抓取器正确检测是否有任何信号。