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

网站编辑容易做吗淘宝直通车推广怎么收费

网站编辑容易做吗,淘宝直通车推广怎么收费,东阳网站建设公司,centos 下载wordpressUbuntu平台使用aarch64-Linux交叉编译opencv库并移植ARM边缘端 安装交叉编译器安装OpenCV安装opencv依赖的库修改aarch64-gnu.toolchain.cmake编译OpenCV库编译版本环境配置(默认环境不需要此步骤):创建CMakeLists.txt 英伟达的嵌入式板作为边…

Ubuntu平台使用aarch64-Linux交叉编译opencv库并移植ARM边缘端

  • 安装交叉编译器
  • 安装OpenCV
    • 安装opencv依赖的库
    • 修改aarch64-gnu.toolchain.cmake
    • 编译OpenCV库
    • 编译版本环境配置(默认环境不需要此步骤):
        • 创建CMakeLists.txt

英伟达的嵌入式板作为边缘端设备为算法模型的部署提供了便利,目前很多分类或好检测模型针对边缘端做了优化或量化,使得在边缘端也能达到实时稳定的识别和检测效果,常用的嵌入式设备有Nvidia系列的TX2,Xavier NX,Xavier AGX等。
但嵌入式设备普遍的flash emmc不大,一般在32G左右,如果在嵌入式设备进行大量的编译操作很容易空间不足,最近由于部署需要,在Xavier AGX上编译opencv的时候提示No space on the device,从而导致编译失败,因此通过查阅官方文档大小可以通过交叉编译的方式避免文件包在嵌入式上编译,可以通过在x86 pc端进行交叉编译,然后将编译好的文件夹拷贝到ARM设备即可,

安装交叉编译器

以gcc-aarch64-linux-gnu为例 (aarch64-linux-musleabi-gcc也可以 下载地址)

1.Linux x86下安装ARM架构下的编译器

apt-cache search aarch64sudo apt-get install build-essential
sudo apt-get install g++-aarch64-linux-gnu
sudo apt-get install gcc-aarch64-linux-gnu

下载后在终端输入以下指令查看编译器版本 确认 aarch64-linux-gnu 交叉编译工具链生效

aarch64-linux-gnu-g++ -v
aarch64-linux-gnu-gcc -v

内容记录:

(RKNN_Toolkit2_py3.10) ubuntu20@WIN11DC:~/opencv-4.5.5/build$ aarch64-linux-gnu-g++ -v
Using built-in specs.
COLLECT_GCC=aarch64-linux-gnu-g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/aarch64-linux-gnu/9/lto-wrapper
Target: aarch64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --without-target-system-zlib --enable-libpth-m2 --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=aarch64-linux-gnu --program-prefix=aarch64-linux-gnu- --includedir=/usr/aarch64-linux-gnu/include
Thread model: posix
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2)(RKNN_Toolkit2_py3.10) ubuntu20@WIN11DC:~/opencv-4.5.5/build$ aarch64-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=aarch64-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/aarch64-linux-gnu/9/lto-wrapper
Target: aarch64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --without-target-system-zlib --enable-libpth-m2 --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=aarch64-linux-gnu --program-prefix=aarch64-linux-gnu- --includedir=/usr/aarch64-linux-gnu/include
Thread model: posix
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2)


安装OpenCV

安装opencv依赖的库

sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev

OpenCV包
编译版本注意:编译安装地址不是默认的/usr/local,而是自行指定的文件夹,这样不会产生任何冲突 (最好选择默认路径)

修改aarch64-gnu.toolchain.cmake

在opencv-4.9.0下
修改~/opencv-4.9.0/platforms/linux/aarch64-gnu.toolchain.cmake
修改为:

set(CMAKE_SYSTEM_PROCESSOR aarch64)
set(GCC_COMPILER_VERSION "" CACHE STRING "GCC Compiler version")
set(GNU_MACHINE "aarch64-linux-gnu" CACHE STRING "GNU compiler triple")
include("${CMAKE_CURRENT_LIST_DIR}/arm.toolchain.cmake")
#set(WITH_CAROTENE OFF)
#set(WITH_ITT OFF)
#set(WITH_OPENCL OFF)
#set(WITH_ADE OFF)

编译OpenCV库

下载源代码并解压 opencv-4.9.0.tar.gz

tar -xzvf  opencv-4.9.0.tar.gz

在源代码的文件夹 opencv-4.9.0下开始编译

mkdir build && cd build       # 创建一个build文件夹并进入
# mkdir aarch_64_install
# 生成静态库(.a) 不过使用静态库,静态连接,这样应用程序体积会比较大
cmake \
-DCMAKE_TOOLCHAIN_FILE=/home/ubuntu20/opencv-4.9.0/platforms/linux/aarch64-gnu.toolchain.cmake \
-D CMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS="aarch64-linux-gnu -a --static" 
-DCMAKE_C_FLAGS="aarch64-linux-gnu -a --static" 
-DBUILD_SHARED_LIBS=OFF
-DCMAKE_INSTALL_PREFIX=/usr/local ..# 生成动态库(.so)
cmake \
-DCMAKE_TOOLCHAIN_FILE=/home/ubuntu20/opencv-4.9.0/platforms/linux/aarch64-gnu.toolchain.cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS="aarch64-linux-gnu" 
-DCMAKE_C_FLAGS="aarch64-linux-gnu" 
-DBUILD_SHARED_LIBS=ON 
-DWITH_ADE=OFF
-DCMAKE_INSTALL_PREFIX=/usr/local ..# 生成(.a  .so) 注意路径,修改路径
cmake \
-DCMAKE_TOOLCHAIN_FILE=/home/ubuntu20/opencv-4.9.0/platforms/linux/aarch64-gnu.toolchain.cmake \
-DCMAKE_INSTALL_PREFIX=/home/ubuntu20/opencv-4.9.0/build/install \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release ..
make -j8
sudo make install

在嵌入式设备上,可能需要更新LD_LIBRARY_PATH等环境变量,确保系统能找到新安装的库。

编译版本环境配置(默认环境不需要此步骤):

这是命令

echo "export OpenCV_DIR=/home/ubuntu20/opencv-4.9.0/build/install/lib/cmake/opencv4" >> ~/.bashrc
echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/home/ubuntu20/opencv-4.9.0/build/install/lib" >> ~/.bashrc

这是用gedit打开.bashrc

#打开~/.bashrc
gedit ~/.bashrc
#在文件末尾增加以下内容
export OpenCV_DIR=/home/ubuntu20/opencv-4.9.0/build/install/lib/cmake/opencv4
LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/home/ubuntu20/opencv-4.9.0/build/install/lib
#更新~/.bashrc
source ~/.bashrc 
创建CMakeLists.txt
cmake_minimum_required(VERSION 3.16)
project(opencv_test)
set(OpenCV_DIR "/home/wlj/opencv-4.9.0/build")
find_package(OpenCV 4.9.0 REQUIRED)
add_executable(cv cv.cpp)
target_link_libraries(cv ${OpenCV_LIBRARIES})
---非内部编译库需要添加此步---
#这些install()指令用于在构建过程的最后阶段将目标文件、库和其他资源安装到指定的目录
# install target and libraries
#set(CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR}/install/rknn_yolov5_demo_${CMAKE_SYSTEM_NAME})
#install(TARGETS rknn_yolov5_demo DESTINATION ./)
#install(PROGRAMS ${OpenCV_LIBS} DESTINATION lib)
#install(DIRECTORY model DESTINATION ./)
http://www.dtcms.com/wzjs/520795.html

相关文章:

  • 市场营销策划ppt免费模板seo优化检测
  • 东莞轨道公司优化设计单元测试卷答案
  • 一小时学做网站免费发布广告信息网
  • 运用asp做购物网站的心得网页分析报告案例
  • 天津做网站建设怎么样在百度上推广自己的产品
  • 网站群建设意见征集廊坊网站
  • 西安哪家公司网站做的好磁力兔子搜索引擎
  • 长沙网站建设公司排行榜营销策划公司排行榜
  • 微网站建设渠道网站注册信息查询
  • 一站式做网站设计seo排名如何
  • office做的网站怎么发布什么企业需要网络营销和网络推广
  • b站24小时直播间十大软件郑州网站seo优化
  • wordpress 数据站培训学校机构
  • 上海网站建设与设计公司软文撰写公司
  • 东阳做网站公司重庆seo的薪酬水平
  • 网站建设管理工作情况的通报网络营销推广手段
  • 汉中做网站的电话企业网站推广的方法有
  • 做异性的视频网站有哪些香港疫情最新消息
  • 有什么网站可以做家装网站设计制作教程
  • 只有一个页面的网站怎么做温岭网络推广
  • 做网站的费用进什么科目搜狐新闻手机网
  • 自已做个网站怎么做百度登录
  • 贵州省教育厅办公室关于开展2014年学校门户网站建设评估的通知网络项目资源网
  • 网站如何做的有气质怎样在网上做宣传
  • 建设工程人员信息网官网济南网络优化网站
  • 团队做网站分工周口网络推广公司
  • 网页网站免费佛山快速排名seo
  • 城市门户网站seodao cn
  • 汽车之家网站做的很烂厦门做网站公司有哪些
  • pc端的移动端网站建设培训学校怎么招生