支持标准协议的USB3Vision, GigEVision工业相机除了使用相机的SDK访问相机外,开源的Aravis Project也颇受欢迎,特别是在嵌入式的系统上,开源带了的好处就是可以在平台编译不受预编译的SDK的平台限制。测试的相机用来京航工业相机的JHEM306GM黑白千兆网工业相机和JHEM304UC彩色的USB工业相机。

1 Aravis安装

 1.1 安装meson和依赖包。

        先安装python3的pip和meson。

sudo apt-get install python3-pip
pip3 install meson

        安装aravis的依赖包

sudo apt install libxml2-dev libglib2.0-dev cmake libusb-1.0-0-dev gobject-introspection \
                 libgtk-3-dev gtk-doc-tools  xsltproc libgstreamer1.0-dev \
                 libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev \
                 libgirepository1.0-dev gettext

        安装ninja编译工具

sudo apt install ninja-build
 1.2 安装编译

        从Github下载最新源码,目前的稳定版是0.8,我们使用的是最新版本,aravis-main解压到一个目录,再进入目录。

tar xvzf aravis-main.tar.gz
cd aravis-main

meson setup build
cd build

ninjia
ninjia install

        安装过程中需要填入管理员密码。

2 测试运行

        先测试GigEVision千兆网相机。

arv-viewer-0.8

        打开实时图像

        再来试下USB3Vision相机,枚举出来了

        USB相机获取实时图像:

        预览功能是OK的,后续还要再看看SDK是否能完整支持相机的参数设置,触发等功能。

3 后续

        如果对彩色相机无法显示图像,可能需要安装gstreamer的一些插件以支持bayer格式转换成rgb图像。

sudo apt install libgstreamer-plugins-base1.0-dev
sudo apt install libgstreamer-plugins-good1.0-dev
sudo apt install libgstreamer-plugins-bad1.0-dev

        最后一个为显示bayer格式图像需要。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐