Skip to main content
本节介绍如何启用 OpenCV 库并运行 OpenCV 测试应用 入门工作流程

前提条件

  • 按照 Qualcomm Linux 构建指南中的说明搭建基础环境
  • 将最新的软件版本烧录到开发板。
  • 建立 SSH 连接:按照使用 SSH 中提到的步骤,在 Permissive 模式下启用 SSH
  • 确认目标设备的 /usr/lib 中存在 libopencv_fastcv 库。 有时下载 fastcv_linux_aarch64_2025_07_09.tgz 会失败,导致无法生成 libopencv_fastcv 库。 如果缺少该库,请下载最新的 bitbake 文件opencv_4.13.0.bb)并重新编译构建。 烧录构建后,确认 /usr/lib 中存在 libopencv_fastcv 库。

启用 OpenCV 库和测试包

  1. 要保留测试二进制文件,请在 <WORKSPACE>/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv_%.bbappend 配方文件中包含以下代码:
  2. 如果构建已完成编译,则在编译之前必须清理 OpenCV。要清理 OpenCV,请运行以下命令:
    编译期间不会修改任何代码,因此直接编译不会生成相应的二进制文件。
  3. 要编译 OpenCV,请运行以下命令:
库的路径为 tmp-glibc\sysroots-components\armv8-2a\opencv\usr\lib 二进制文件的路径为 tmp-glibc\work\armv8-2a-qcom-linux\opencv\4.13.0\build\bin

运行现有测试应用

要调用 OpenCV API,原生 OpenCV 测试示例可以参考示例应用。使用以下步骤在 Snapdragon 目标设备上调用应用。请编译完整的构建镜像,确保所有库都包含在应用镜像中。
  1. 按照 Qualcomm Linux 构建指南中的说明将镜像烧录到设备上。 OpenCV 库位于设备上的 /usr/lib
  2. 对于测试数据,请克隆 https://github.com/opencv/opencv_extra/tree/4.13.0 上的项目。
  3. 为避免在向设备推送测试数据和二进制文件时出现只读错误,请使用设备 IP 地址登录 SSH 终端,并运行以下命令重新挂载设备。
  4. 使用 scp 命令将测试数据推送到首选的主机位置。 例如:scp -r {[file]} root@{[IP-ADDR]}:/tmp
  5. 使用 scp 命令将所需的测试二进制文件推送到 /usr/bin 例如:scp -r {[test]} root@{[IP-ADDR]}:/usr/bin/
  6. 登录 SSH 终端并运行以下命令。
    结果存储在 /tmp/results.json 中。要更改结果文件名,请修改 --gtest_output=json:/tmp/{results.json} 参数。