前提条件
- 按照 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 库和测试包
- 要保留测试二进制文件,请在
<WORKSPACE>/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv_%.bbappend配方文件中包含以下代码: - 如果构建已完成编译,则在编译之前必须清理 OpenCV。要清理 OpenCV,请运行以下命令:
编译期间不会修改任何代码,因此直接编译不会生成相应的二进制文件。
- 要编译 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 目标设备上调用应用。请编译完整的构建镜像,确保所有库都包含在应用镜像中。-
按照 Qualcomm Linux 构建指南中的说明将镜像烧录到设备上。
OpenCV 库位于设备上的
/usr/lib。 -
对于测试数据,请克隆 https://github.com/opencv/opencv_extra/tree/4.13.0 上的项目。
-
为避免在向设备推送测试数据和二进制文件时出现只读错误,请使用设备 IP 地址登录 SSH 终端,并运行以下命令重新挂载设备。
-
使用
scp命令将测试数据推送到首选的主机位置。 例如:scp -r {[file]} root@{[IP-ADDR]}:/tmp -
使用
scp命令将所需的测试二进制文件推送到/usr/bin。 例如:scp -r {[test]} root@{[IP-ADDR]}:/usr/bin/ -
登录 SSH 终端并运行以下命令。
结果存储在
/tmp/results.json中。要更改结果文件名,请修改--gtest_output=json:/tmp/{results.json}参数。

