开源相机管理库Aravis学习(一)——安装

目录

前言

最近在做采集软件的开发,由于我自己使用过Huaray和Basler两个品牌的相机,所以在设计软件时尝试设计统一的接口去控制不同品牌和型号相机的相同或类似的行为。当然,我的设计思路都是建立在调用各品牌SDK的基础上。

后来我去外网搜索,发现了一个开源项目Aravis,它通过提供一个通用的API,让我们能够不受相机的品牌或型号限制,自由地进行图像采集和相机控制,支持从简单的图像捕获到复杂的相机设置调整的一系列操作。

项目地址:https://github.com/AravisProject/aravis

Aravis简介

Aravis是一个基于glib/gobject的库,允许开发者对遵循GenICam标准的网络相机进行通信和控制。它目前实现了工业相机使用的GigE和USB3协议。它还提供了一个简单的以太网相机模拟器和视频查看器。

依赖关系说明

  • Aravis库依赖于zlib、libxml2和glib2,若选择使用USB支持则需要依赖libusb1。
  • GStreamer插件除了需要Aravis库的依赖外,还依赖于GStreamer1。
  • 视频查看器依赖于GStreamer1、Gtk+3以及Aravis库的依赖。
  • 所需的版本在Aravis源码中的meson.build文件里有指定。
  • 可以只构建库本身,以此将依赖减少到最少。

安装过程

meson安装

由于Aravis是使用meson进行项目构建的,所以我们先安装meson:

bash 复制代码
apt install meson

安装完毕后验证是否安装成功

bash 复制代码
meson --version

aravis源文件下载

作者对aravis使用者的建议是最好使用发行版本而不是直接git checkout

在github上找到所需的aravis的发行版本,并下载:https://github.com/AravisProject/aravis/releases

我选择的是0.8.31版本:

下载压缩包后解压即可

bash 复制代码
tar -xvf aravis-0.8.31.tar.xz

构建和安装aravis

进入工作目录,然后执行以下命令:

bash 复制代码
meson setup build
cd build
ninja
ninja install

在执行meson setup build可能会有安装失败的项点,错误解决方法可以参考文末的《安装过程中遇到的问题》

至此安装已完成

视频查看器

找到Aravis双击打开,即可查看已连接的相机设备

安装过程中遇到的问题

meson版本过低

我安装的aravis版本是0.8.31,这个版本aravis的编译依赖0.57.0及以上版本的meson,而我通过apt包管理器下载的meson版本为0.53.2,不满足需求。因此要对meson进行升级操作:

①首先安装或升级pip

bash 复制代码
apt install python3-pip
或
pip3 install --upgrade pip

②然后移除旧版本meson避免版本冲突

bash 复制代码
apt remove meson

③使用pip安装最新版本的meson

推荐使用--user选项,这样可以将Meson安装在用户目录下,避免对系统全局Python环境造成潜在的干扰

bash 复制代码
pip3 install --upgrade --user meson

④更新环境变量

~/.bashrc文件中添加

bash 复制代码
export PATH="$HOME/.local/bin:$PATH"

然后重启系统生效

⑤验证meson版本

安装或升级完成后,通过以下命令检查Meson的版本,以确保安装或升级成功

bash 复制代码
meson --version

我的安装结果:

CMake版本过低

在构建项目的时候,提示了以下错误信息:

说明我系统中的CMake版本过低,需要升级。

注意:apt包管理器中的CMake版本不是最新的,所以我们不使用apt install更新CMake

我们采用从源码编译的方法更新:

①移除旧cmake防止版本冲突

bash 复制代码
apt remove cmake

②下载源码

进入CMake官网下载所需版本的源码,我下载的是3.29.0发布版本

③解压下载的源码包

bash 复制代码
tar -zxvf cmake-3.29.0.tar.gz

④编译和安装CMake

bash 复制代码
cd ./cmake-*
./bootstrap
make
make install

⑤添加环境变量

~/.bashrc中添加

bash 复制代码
export PATH=/path/to/cmake/bin:$PATH

/path/to/cmake是解压出来的源码的路径

⑥验证CMake

bash 复制代码
cmake --version

缺少GStreamer组件

直接使用包管理器安装即可

bash 复制代码
apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

参考文章

1.Installation and Debug

相关推荐
51camera1 个月前
Dragonfly S 5MP工业相机量产 机器视觉应用的新选择
视觉检测·机器视觉·工业相机
小俊俊的博客1 个月前
海康相机opencv,C++调用demo配置记录
c++·opencv·工业相机·海康
51camera1 个月前
简述灰点工业相机的相关知识
机器视觉·工业相机·灰点相机
资深流水灯工程师3 个月前
机器视觉:工业相机的主要参数
工业相机
LabVIEW开发3 个月前
LabVIEW图像采集处理项目中相机选择与应用
数码相机·计算机视觉·labview·工业相机
青山笑我依旧在4 个月前
基于PTP实现主机与相机系统时钟同步功能
工业相机
lylsalt5 个月前
相机知识的补充
人工智能·计算机视觉·工业相机
lylsalt5 个月前
关于海康相机和镜头参数的记录
工业相机
paw5zx5 个月前
开源相机管理库Aravis例程学习(五)——camera-api
c++·工业相机
paw5zx5 个月前
开源相机管理库Aravis例程学习(四)——multiple-acquisition-signal
工业相机