1

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

摄像头图像是使用 BTTV PCI 设备收集的,特别是 bt878 驱动程序。BTTV 设备是基于 Bt848 芯片的 PCI-104 卡,在 Linux 下由 bttv 和相关的内核驱动模块支持。这些设备是只采集卡 - 这意味着视频是直接从视频源获取的,无需使用调谐器。图像采集卡连接到车载电脑Sensorary 311(所以bttv card=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-properties 程序中查看)是蓝色的,当相机打开时,从相机接收到的图像非常嘈杂。无法检测到任何特征,但可以看到光线的变化。

我们之前已经让相机正常工作(暗示驱动程序没问题),但它似乎几乎是随机的,并且取决于我们使用的观看程序和顺序。一旦相机工作,它就会一直工作,直到我们关闭机器人。我们认为这意味着相机未正确初始化,因此正在发送嘈杂的数据。除了确保相机开机之外,有谁知道初始化与 BTTV PCI 设备相关联的相机的好方法?

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

相机是 RVision SEE 相机。

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

4

1 回答 1

0

我猜你的相机或图像采集卡有硬件问题,很可能是你的相机。

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

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

  • 尝试将另一台相机连接到您的图像采集卡,并查看图像的外观。

从 bttv 方面来看,唯一可以提供帮助的配置是选择正确的视频规范,例如相机和采集卡是否都同意它们使用PALNTSC或其他任何东西(当然还有各种子格式)。

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

PS:关闭相机时,您可以得到漂亮的蓝色图像,这仅意味着图像采集卡正确地检测到是否有任何信号。

于 2013-06-18T07:36:27.963 回答