标题《opencv3.2 for arm linux移植笔记》以及描述《opencv3.2 for arm linux移植笔记.开发板:Orangepi PC(全志H3)》揭示了文章的主题内容,该内容主要介绍了在全志H3开发板上,具体是在Orangepi PC上移植OpenCV3.2的整个过程。文章详细记录了开发环境的配置、交叉编译过程、库文件生成及应用的测试等关键步骤。以下将围绕此主题详细说明所需的知识点。 OpenCV,全称Open Source Computer Vision Library,是一个开源的计算机视觉和机器学习软件库。它包含多个计算机视觉算法,支持多种编程语言,并且提供各种语言接口,包括C++、Python、Java等。OpenCV广泛应用于计算机视觉领域,包括但不限于物体检测、人脸识别、图像分割、特征检测、运动分析等。OpenCV3.2作为版本号,代表这是2017年发布的该软件库的更新版本,提供了许多新功能和改进。 接下来,文中提到了目标开发板Orangepi PC,它基于全志H3芯片。全志H3是一款基于ARM架构的芯片,广泛应用于各种小型计算设备和开发板中。arm linux指的是在ARM架构处理器上运行的Linux操作系统版本。在ARM架构上部署软件需要考虑到硬件与软件架构的匹配性,以及可能存在的性能优化问题。 移植OpenCV到arm linux系统上,尤其是资源有限的开发板上,面临的主要困难包括编译器和工具链的选择、依赖库的管理、性能优化等。文中所用的交叉编译方法,是指在一种平台上编译出可以在另一种平台(通常是指硬件资源较低的嵌入式设备)上运行的程序。交叉编译对于在资源受限或操作系统不同的目标板上部署应用程序至关重要。 文章中提到的开发环境配置包括安装Ubuntu 16.04 x86版本,这是基于x86架构的操作系统,适用于x86处理器的计算机。由于目标板是基于ARM架构的,因此需要在x86系统上安装能够交叉编译ARM架构程序的编译器,这里提到的是arm-linux-gnueabihf-gcc和arm-linux-gnueabihf-g++。这些编译器是基于GNU编译器集合的交叉编译版本,能够生成适用于ARM架构的机器代码。 配置交叉编译环境时,除了安装编译器外,还需要设置环境变量,确保在编译和运行交叉编译的程序时能够找到正确的路径和编译工具。文章中提到了使用apt安装编译器,以及修改用户级别配置文件.bashrc来更新环境变量PATH。 文章还强调了使用CMake进行项目配置和编译的步骤。CMake是一个跨平台的自动化构建系统,它可以生成本地的构建环境,如Makefile,再使用make工具进行编译。CMake支持复杂的构建配置,对于管理跨平台项目尤其重要。 在配置和编译OpenCV过程中,需要指定目标操作系统为Linux,并选择交叉编译器arm-linux-gnueabihf。在cmake-gui界面中配置完成后,使用make命令进行编译,之后通过make install命令将编译好的库文件和头文件安装到目标路径下。此过程可能耗时较长,依赖于宿主机的计算资源。 编译完成后,生成了opencv基于armv7的库文件和头文件,安装到了指定的路径。为了使编译后的应用能够找到OpenCV库,需要设置环境变量PKG_CONFIG_PATH,并将OpenCV的pkg-config文件中的配置加入到该环境变量中。 文章提到了在电脑上交叉编译测试程序,也就是一个简单的OpenCV应用,用来检测视频帧中的图片轨迹。通过使用arm-linux-gnueabihf-g++进行编译,并链接OpenCV库,最终在目标板上运行。 总结来说,文章详细记录了从准备工作到最终应用测试的整个移植过程,包括了软件环境的配置、交叉编译器的安装、CMake的使用、OpenCV库的编译和安装以及测试应用的编译与运行。这个过程需要有扎实的Linux系统知识、理解ARM架构与x86架构的区别、掌握交叉编译技术,以及熟悉CMake和Makefile的使用。这些知识点的掌握对于在资源有限的ARM开发板上运行复杂的库如OpenCV是十分重要的。
剩余10页未读,继续阅读
- salon1122017-11-11最后也没有说 有没有成功
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 时间复杂度与数据结构:算法效率的双重奏
- QT 简易项目 网络调试器(未实现连接唯一性) QT5.12.3环境 C++实现
- YOLOv3网络架构深度解析:关键特性与代码实现
- 2024 CISSP考试大纲(2024年4月15日生效)
- ACOUSTICECHO CANCELLATION WITH THE DUAL-SIGNAL TRANSFORMATION LSTM NETWORK
- 深入解析:动态数据结构与静态数据结构的差异
- YOLOv2:在YOLOv1基础上的飞跃
- imgview图片浏览工具v1.0
- Toony Colors Pro 2 2.2.5的资源
- Java项目:基于SSM框架+Mysql+Jsp实现的药品管理系统(ssm+B/S架构+源码+数据库)