技术专栏
rknnv1.7.3移植opencv库
rv1126所使用的rknn sdk里默认是不带opencv库的,官方所用的例程里也没有使用opencv,但是这样在进行图像处理的时候有点麻烦了,这里有两种办法:
一是先用python将所需要的图片处理好后在转化为bin格式文件,在使用c++或c进行读取,可以参考->;
二是为其添加opencv库,可以直接在程序中调用opencv接口;下面介绍具体步骤
1:首先利用rv1126的交叉编译工具,将opencv源码生成可在rv1126上运行的库,参考
-> https://kdocs.cn/l/cdr9FjEO3S9s
2:将编译生成的install下的所有文件拷贝支/3rdparty/opencv/下
3:编辑CMakeLists.txt
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
#!/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库
编辑完毕之后直接./build.sh,将install的文件拷贝至板端并运行,
此时有可能报错,使用ldd xxxx查看
这是因为板端没有找到相应的库,此时把缺失的库拷贝到提示缺失的路径下,再次运行即可,若依然有报错则继续添加到相应路径下即可。
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包
点赞
收藏
评论
打赏
- 分享
- 举报
评论
0个
手气红包
暂无数据
相关专栏
-
浏览量:1253次2023-08-31 16:23:55
-
浏览量:1236次2023-08-31 16:29:15
-
浏览量:2207次2024-02-05 15:51:53
-
浏览量:875次2024-03-14 18:20:47
-
2024-01-05 17:19:54
-
浏览量:3568次2020-08-29 16:50:56
-
浏览量:596次2024-01-24 14:47:22
-
浏览量:859次2024-01-08 18:13:05
-
浏览量:1043次2024-01-03 17:15:03
-
浏览量:2656次2023-08-29 13:13:38
-
2024-02-04 10:33:53
-
浏览量:1350次2024-05-24 19:05:42
-
浏览量:882次2024-02-04 10:08:58
-
浏览量:843次2024-01-24 16:33:36
-
浏览量:1111次2024-01-22 17:02:06
-
浏览量:845次2023-11-22 14:07:08
-
浏览量:3398次2022-11-22 09:58:36
-
浏览量:1331次2023-12-05 13:41:24
-
浏览量:363次2024-11-13 14:14:36
置顶时间设置
结束时间
删除原因
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
打赏作者
warren@伟
您的支持将鼓励我继续创作!
打赏金额:
¥1
¥5
¥10
¥50
¥100
支付方式:
微信支付
打赏成功!
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
审核成功
发布时间设置
发布时间:
请选择发布时间设置
是否关联周任务-专栏模块
审核失败
失败原因
请选择失败原因
备注
请输入备注