当前位置: 首页 > news >正文

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

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/bashset -e# for rv1109/rv1126 armhfGCC_COMPILER=/opt/atk-dlrv1126-toolchain/bin/arm-linux-gnueabihfROOT_PWD=$( cd "$( dirname $0 )" && cd -P "$( dirname "$SOURCE" )" && pwd )# build rockxBUILD_DIR=${ROOT_PWD}/buildif [[ ! -d "${BUILD_DIR}" ]]; thenmkdir -p ${BUILD_DIR}ficd ${BUILD_DIR}cmake .. \-DCMAKE_C_COMPILER=${GCC_COMPILER}-gcc \-DCMAKE_CXX_COMPILER=${GCC_COMPILER}-g++make -j4make installcd -
 

main.cc里加入opencv库

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

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

http://www.lryc.cn/news/190172.html

相关文章:

  • 【Redis】Redis持久化深度解析
  • c/c++--字节对齐(byte alignment)
  • 算法进阶——字符串的排列
  • js中 slice 用法用法全解析
  • Typora安装教程
  • Pytorch中张量的维度扩张与广播操作示例
  • 身份证号码,格式校验:@IdCard(自定义注解)
  • 【Java】instanceof 关键字
  • Android 13.0 recovery出厂时正在清理字体大小的修改
  • 京东商品数据:8月京东环境电器行业数据分析
  • elasticsearch(ES)分布式搜索引擎04——(数据聚合,自动补全,数据同步,ES集群)
  • webdriver.Chrome()没反应
  • java html转word、pdf(包含图片)
  • 不容易解的题10.10
  • 淘宝天猫店铺所有商品数据接口,淘宝API接口
  • Prometheus和grafana安装配置手册
  • 从零开始探索C语言(十一)----共用体和位域
  • 【数据结构】算法的时间复杂度
  • Qt作业五
  • 【面试】pc寄存器题
  • ARM按键中断实验
  • C#的值类型和引用类型
  • YOLOv7改进:极简的神经网络模型 VanillaNet---VanillaBlock助力检测,实现暴力涨点 | 华为诺亚2023
  • 对验证码的识别爆破
  • LeetCode【15】三数之和
  • Gossip协议是什么
  • 【java学习】this关键字(27)
  • 27、元组
  • 1km分辨率逐月降雨量和最高温度数据集(1901-2022)--数据处理
  • docker入门加实战—docker常见命令