8 个版本

0.3.0 2023 年 1 月 28 日
0.2.0 2021 年 8 月 14 日
0.1.5 2020 年 10 月 17 日
0.1.3 2020 年 3 月 22 日
0.1.1 2020 年 2 月 8 日

图像 中排名 894

Download history 225/week @ 2024-03-11 156/week @ 2024-03-18 193/week @ 2024-03-25 223/week @ 2024-04-01 278/week @ 2024-04-08 315/week @ 2024-04-15 131/week @ 2024-04-22 158/week @ 2024-04-29 80/week @ 2024-05-06 130/week @ 2024-05-13 87/week @ 2024-05-20 199/week @ 2024-05-27 84/week @ 2024-06-03 161/week @ 2024-06-10 109/week @ 2024-06-17 92/week @ 2024-06-24

每月下载量 455
3 个 crate 中使用 (通过 apriltag)

BSD-2-Clause 协议

4.5MB
代码行数 174K (不包括注释)

C 172K SLoC // 0.0% comments Rust 2K SLoC // 0.0% comments C++ 130 SLoC // 0.2% comments Python 26 SLoC Shell 8 SLoC // 0.4% comments

apriltag-sys

Crates.io Documentation Crate License Dependency status build

此 crate 为 AprilTag C 库提供 Rust 绑定。

用法

从官方 仓库 安装 AprilTag 库。

在您的 Cargo.toml 中导入 apriltag-sys 依赖项。

[dependencies]
apriltag-sys = "0.2"

目前有四种方式指定 apriltag-sys 如何编译和链接 apriltag C 库。这些选项通过设置环境变量 APRILTAG_SYS_METHOD 为以下值之一来指定

  • pkg-config-then-static (默认) - 这将首先尝试使用 pkg-config,然后回退到 raw,static
  • pkg-config - 这将使用 pkg-config。失败时引发恐慌。
  • raw,static - 环境变量 APRILTAG_SRC 必须设置为包含 April Tag C 库源代码的目录。.c 文件将通过直接调用 C 编译器来编译,并静态链接。
  • cmake,dynamic - 环境变量 APRILTAG_SRC 必须设置为包含 April Tag C 库源代码的目录。将调用 cmake 命令来调用 C 编译器,并将生成的库动态链接。

通过环境变量 APRILTAG_SRC 指定 apriltag 源的位置。如果未设置,将使用本地 git 子模块检出 apriltag 源。

在 Windows 下构建

严格来说,在Microsoft Windows上使用AprilTag并不是开发者官方支持的。在实践中,这个库即使在操作系统上也运行良好。唯一额外的复杂性出现在构建过程中。C库需要Windows默认不提供的pthread.h。因此,需要不同的适配器,如pthreads4wPthreads-w32。如果安装了其中之一,设置环境变量APRILTAG_SYS_WINDOWS_PTHREAD_INCLUDE_DIR为其包含目录和APRILTAG_SYS_WINDOWS_PTHREAD_STATIC_LIB为编译后的静态库,就可以在Windows下成功构建,使用APRILTAG_SYS_METHOD=raw,static

以下是一个使用vcpkg的示例,在Windows下的构建包括三个额外步骤

  1. 使用vcpkg install pthread:x64-windows-static安装适配器
  2. 指定包含目录(这里在PowerShell中):$env:APRILTAG_SYS_WINDOWS_PTHREAD_INCLUDE_DIR="%SPECIFY VCPKG DIRECTORY HERE%\installed\x64-windows-static\include"
  3. 指定静态库的路径(再次在PowerShell中):$env:APRILTAG_SYS_WINDOWS_PTHREAD_STATIC_LIB="%SPECIFY VCPKG DIRECTORY HERE%\installed\x64-windows-static\lib\pthreadVC3.lib""

一些适配器需要winmm.dll来实现高精度计时,这是所有Windows安装默认提供的。如果不需要这个链接,可以通过设置APRILTAG_SYS_WINDOWS_NO_WINMM=1来省略。

许可证

BSD-2-Clause。请参阅许可证文件

无运行时依赖