rv1126-rknpu-v1.7.3添加opencv库

rv1126所使用的rknn sdk里默认是不带opencv库的,官方所用的例程里也没有使用opencv,但是这样在进行图像处理的时候有点麻烦了,这里有两种办法:

一是先用python将所需要的图片处理好后在转化为bin格式文件,在使用c++或c进行读取,可以参考->;

二是为其添加opencv库,可以直接在程序中调用opencv接口;下面介绍具体步骤

1:首先利用rv1126的交叉编译工具,将opencv源码生成可在rv1126上运行的库,参考

-> Rv1126移植opencv-CSDN博客

2:将编译生成的install下的所有文件拷贝支/3rdparty/opencv/下

3:编辑CMakeLists.txt

bash 复制代码
cmake_minimum_required(VERSION 3.4.1)
set(PROJECT_NAME rknn_template)
project(${PROJECT_NAME})

set(CMAKE_SYSTEM_NAME Linux)

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

if(CMAKE_SIZEOF_VOID_P EQUAL 8)
    message(STATUS "64bit")
    set(LIB_ARCH lib64)
else()
    message(STATUS "32bit")
    set(LIB_ARCH lib)
endif()

# rknn api
set(RKNN_API_PATH ${CMAKE_SOURCE_DIR}/../../librknn_api)
include_directories(${RKNN_API_PATH}/include)
set(RKNN_API_LIB ${RKNN_API_PATH}/${LIB_ARCH}/librknn_api.so)

# opencv
if(LIB_ARCH STREQUAL "lib")
    set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/../3rdparty/opencv/opencv-3.4.3/share/OpenCV)
    message(STATUS "--------armhf")
else()
    set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/../3rdparty/opencv/opencv-linux-aarch64/share/OpenCV)
    message(STATUS "aarch64")
endif()
find_package(OpenCV REQUIRED)

#stb
include_directories(${CMAKE_SOURCE_DIR}/../3rdparty/)

set(CMAKE_INSTALL_RPATH "lib")

add_executable(${PROJECT_NAME}
        src/main.cc
)

target_link_libraries(${PROJECT_NAME}
        ${RKNN_API_LIB}
        ${OpenCV_LIBS}
        dl
        )

# install target and libraries
set(CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR}/install/${PROJECT_NAME})
install(TARGETS ${PROJECT_NAME} DESTINATION ./)
install(DIRECTORY model DESTINATION ./)
install(PROGRAMS ${RKNN_API_LIB} DESTINATION lib)

build.sh

bash 复制代码
#!/bin/bash


set -e


# for rv1109/rv1126 armhf

GCC_COMPILER=/opt/atk-dlrv1126-toolchain/bin/arm-linux-gnueabihf


ROOT_PWD=$( cd "$( dirname $0 )" && cd -P "$( dirname "$SOURCE" )" && pwd )


# build rockx

BUILD_DIR=${ROOT_PWD}/build


if [[ ! -d "${BUILD_DIR}" ]]; then

  mkdir -p ${BUILD_DIR}

fi


cd ${BUILD_DIR}

cmake .. \

    -DCMAKE_C_COMPILER=${GCC_COMPILER}-gcc \

    -DCMAKE_CXX_COMPILER=${GCC_COMPILER}-g++

make -j4

make install

cd -

main.cc里加入opencv库

此时有可能报错,使用ldd xxxx查看

这是因为板端没有找到相应的库,此时把缺失的库拷贝到提示缺失的路径下,再次运行即可,若依然有报错则继续添加到相应路径下即可。

相关推荐
躺不平的理查德4 分钟前
OpenSSL 的异步 TLS 1.3 加密
linux·运维·服务器
容器魔方5 分钟前
云容器引擎 CCE 2026-Q2 优化升级:AI 推理负载、备份中心、Gateway API能力全新上线!
人工智能·云原生·容器·开源
Aloudata5 分钟前
数据治理台账 vs 元数据知识图谱:数据资产如何从文档走向计算化
数据库·人工智能·知识图谱·数据治理·元数据·数据资产·数据血缘
tedcloud1237 分钟前
Awesome DSH Plugin 怎么用?给 DeepSeek Harness 搭建自己的插件生态
大数据·linux·服务器·人工智能·音视频
hh9507 分钟前
gent Plan × DeepSeek Harness Agent 单元测试与行为回归框架
人工智能·数据挖掘·回归·单元测试·agent plan·adg成都社区·adg社区
楷哥爱开发14 分钟前
IPFoxy爬虫代理配置指南:从0搭建Crawl4AI网页爬虫教程
大数据·运维·人工智能·爬虫
JJJennie77716 分钟前
【AI 网关】七类网关方案横向测评|MAI Gateway 会带来什么不同
人工智能·大模型·gateway·ai网关·魔芋ai
咖啡星人k17 分钟前
2026 多模态大模型:AI 如何“看图+读字+听音“三合一,MonkeyCode 免费上手
人工智能·深度学习·神经网络·计算机视觉·自然语言处理
AI工具测评家19 分钟前
AI检测器是怎么判断论文由AI生成的?从文本概率、语言规律到检测模型一次讲清
人工智能·aigc·降重·ai检测·查重·降ai·快降重
钓鱼的小小猫25 分钟前
从零拿捏Linux(一) ---- 命令(视频秒解)
linux·linux命令