开源相机管理库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

相关推荐
“抚琴”的人6 天前
【机械视觉】C#+VisionPro联合编程———【六、visionPro连接工业相机设备】
c#·工业相机·visionpro·机械视觉
幻想趾于现实7 天前
机器视觉调试——现场链接相机(解决各种相机链接问题)
数码相机·工业相机
51camera15 天前
高光谱工业相机+LED光源系统助力材料分类和异物检测、实现高速在线检测
工业相机
CHHC18801 个月前
工业相机视频播放(RTSP)
ffmpeg·推流·工业相机·rtsp
code bean1 个月前
【工控】线扫相机小结 第五篇
工业相机·线扫相机
51camera2 个月前
超高速工业相机的应用
工业相机·超高速工业相机
51camera2 个月前
面阵工业相机提高餐饮业生产效率
工业相机·面阵工业相机·餐饮工厂自动化
机器视觉小小测试员2 个月前
工业相机如何获得更好的图像色彩
图像·工业相机·图像色彩
机器视觉小小测试员2 个月前
工业相机常用词语解释
运维·ui·自动化·工业相机
机器视觉小小测试员2 个月前
工业相机 SDK 二次开发-VC6.0 程序示例
二次开发·sdk·工业相机·vc6.0