怎么用小旋风网站建设教程,上海加强旅游住宿业与商业场所,电子商城网站建设报告,网站开发国际化【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力#xff0c;聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域#xff0c;包含了应用使能套件、软件仓库、软件支持、软件适…【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域包含了应用使能套件、软件仓库、软件支持、软件适配认证四大板块旨在共享尖端技术为开发者提供一个涵盖多领域的开发平台和工具套件。 点击这里开始你的技术升级之旅吧
本文分享至飞腾开发者平台《飞腾平台OpenCV编译安装说明》
1 介绍 OpenCVOpen Source Computer Vision Library是一个基于BSD许可开源发行的跨平台计算机视觉和机器学习软件库可以运行在Linux、Windows、Android和Mac OS操作系统上。软件库包含了超过2500种计算机视觉和机器学习领域内的通用算法广泛应用于人脸检测、人脸识别、目标检测、视频内行为分析、3D建模、相似图像检测、眼动追踪和增强现实等等。OpenCV同时提供了C, Java, MATLAB等语言的接口,可利用处理器相关SIMD指令集对程序进行加速也支持CUDA和OpenCL。OpenCV是模块化的结构设计包括了多个共享或静态库如表1.1所示。关于OpenCV的更多信息请查阅参考文献【1】文末。
核心功能core定义了基本的的数据结构包含矩阵的数据结构和基本操作方式。图像处理imgproc包括线性和⾮线性的图像滤波、⼏何图像转换缩放、仿射和透视调整、颜⾊模式转换、直⽅图等等。视频分析video包含了运动估计、背景消除和⽬标跟踪算法。立体标定和3D重建calib3d提供基本的多视图⼏何算法、平⾯和⽴体影像校正、目标姿态估计和3D重建算法。二维特征框架Features2d显著特征探测器、描述符和描述符匹配器。目标检测Objectect检测对象和预定义的类的实例例如脸部、眼睛、杯⼦、⼈、⻋等等。图像界面Highgui提供⼀个简单易⽤的UI。视频接口videoio提供⼀个简单易⽤的视频捕获和编码解码界⾯。其他FLANN神经⽹络和Google测试封装、 Python绑定等等
2 环境说明
2.1 硬件环境 硬件环境如下表所示。
项目说明CPUFT-2000/4网络可访问外网存储无要求内存无要求
2.2 软件环境
2.2.1 操作系统 操作系统环境如下表所示。
项目说明KylinV10Kernel4.4.131
2.2.2 软件环境
软件环境如下表所示。
项目版本下载地址GCC5.4.0cmake3.18.0https://github.com/Kitware/CMake/releases/download/v3.18.6/cmake-3.18.0.tar.gzOpenCV4.4.0https://github.com/opencv/opencv/archive/4.4.0.tar.gzOpenCV_extra4.4.0https://github.com/opencv/opencv_extra/archive/4.4.0.tar.gz
3 编译安装
3.1 安装OpenCV所需依赖库 依赖版本要求 GCC 4.4.x or later CMake 2.8.7 or higher Git GTK2.x or higher, including headers (libgtk2.0-dev) pkg-config Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev,python-numpy) ffmpeg or libav development packages: libavcodec-dev, libavformat-dev,libswscale-dev 可选项 libtbb2 libtbb-dev libdc1394 2.x libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev CUDA Toolkit 6.5 or higher 安装方式
# sudo apt-get install build-essential
# sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev
libavformat-dev libswscale-dev python-dev python-numpy libopenblas-dev 安装选装库
方式一:# sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev
libtiff-dev libjasper-dev libdc1394-22-dev
方式二:
选择相应的配置选项后OpenCV会在安装过程中自动下载相关项依赖库。
3.2 编译安装OpenCV 第一步 下载源码包建议在网页端下载源码。
git clone https://github.com/opencv/opencv/archive/4.4.0.tar.gz /git clone https://github.com/opencv/opencv_extra/archive/4.4.0.tar.gz 第二步 解压。
tar zxf opencv-4.4.0.tar.gztar zxf opencv_extra-4.4.0.tar.gz 第三步 编译选项配置详细配置选项见第四章。
cd opencv-4.4.0mkdir buildcd buildcmake -DCMAKE_BUILD_TYPERelease -DCMAKE_INSTALL_PREFIX/usr/local .. 三种cmake选项配置方式 A、命令行 cmake -Doptionvalue B、cache文件 cmake -C my_options.txt C、交互式ccmake 或者 cmake-gui Note : 对于Tengine等选装项opencv会在选择配置后自动下载安装。 第四步 编译安装。
make -j4make install \#默认安装到 /usr/local/目录下#或者下列方式去掉strip信息cmake --build . --target install/strip 第五步 配置 1、配置安装库到全局变量
在/etc/ld.so.conf/目录下opencv.conf添加 \path to your OpenCV installed \到 opencv.confLdconfig 2、配置测试文件路径可直接添加到当前用户的环境变量之中方便后续测试工作。
export OPENCV_TEST_DATA_PATH \path to opencv_extra/testdata\
3.3 OpenCV运行验证 可执行bin目录下opencv_test_** 任意一测试程序以core模块为例
cd \path to build dir/bin\./opencv_test_core Note :对于dnn的测试只有卷积计算部分对于模型的测试需要额外下载相关的模型文件。
4 编译选项说明 本章只列出了OpenCV-4.4.0部分并行化和DNN相关的配置选项其他选项请查阅参考文献【2】。
4.1 并行化选项
选项默认值平台描述pthreadsWITH_PTHREADS_PFONUnix-likeDefault backend based on pthreads library is available on Linux, Android and other Unix-like platforms. Thread pool is implemented in OpenCV and can be controlled with environment variables OPENCV_THREAD_POOL_*. Please check sources in modules/core/src/parallel_impl.cpp file for details.TBBWITH_TBBOFFMultipleThreading Building Blocks is a cross-platform library for parallel programming.OpenMPWITH_OPENMPOFFMultipleOpenMP API relies on compiler support.HPXWITH_HPXOFFMultipleHigh Performance ParallelX is an experimental backend which is more suitable for multiprocessor environments.
4.2 GUI选项
选项默认值平台描述WITH_GTKONLinuxGTK is a common toolkit in Linux and Unix-like OS-es. By default version 3 will be used if found, version 2 can be forced with the WITH_GTK_2_X option.WITH_WIN32UIONWindowsWinAPI is a standard GUI API in Windows.N/AONmacOSCocoa is a framework used in macOS.WITH_QTOFFCross-platformQt is a cross-platform GUI framework.
4.3 深度神经网络相关选项
选项默认值描述WITH_PROTOBUFONEnables protobuf library search. OpenCV can either build own copy of the library or use external one. This dependency is required by the dnn module, if it cant be found module will be disabled.BUILD_PROTOBUFONBuild own copy of protobuf. Must be disabled if you want to use external library.PROTOBUF_UPDATE_FILESOFFRe-generate all .proto files. protoc compiler compatible with used version of protobuf must be installed.OPENCV_DNN_OPENCLONEnable built-in OpenCL inference backend.WITH_INF_ENGINEOFFEnables Intel Inference Engine (IE) backend. Allows to execute networks in IE format (.xml .bin). Inference Engine must be installed either as part of OpenVINO toolkit, either as a standalone library built from sources.INF_ENGINE_RELEASE2020040000Defines version of Inference Engine library which is tied to OpenVINO toolkit version. Must be a 10-digit string, e.g. 2020040000 for OpenVINO 2020.4.WITH_NGRAPHOFFEnables Intel NGraph library support. This library is part of Inference Engine backend which allows executing arbitrary networks read from files in multiple formats supported by OpenCV: Caffe, TensorFlow, PyTorch, Darknet, etc.. NGraph library must be installed, it is included into Inference Engine.OPENCV_DNN_CUDAOFFEnable CUDA backend. CUDA, CUBLAS and CUDNN must be installed.WITH_HALIDEOFFUse experimental Halide backend which can generate optimized code for dnn-layers at runtime. Halide must be installed.WITH_VULKANOFFEnable experimental Vulkan backend. Does not require additional dependencies, but can use external Vulkan headers (VULKAN_INCLUDE_DIRS).WITH_TENGINEOFFEnable experimental Tengine backend for ARM CPUs. Tengine library must be installed.
4.3.1 Tengine配置方式 -DWITH_TENGINEON 方式一编译过程中自动下载安装需要机器联网 方式二使用预编译的lib并制定路径 -DOPENCV_LIBTENGINE_ROOT_DIR/UserFileDir/Tengine-library-dir 配置安装成功后 可通过strings path to your opencv installed/lib/ libopencv_dnn.so.xx.xx.xx |grep TENGINE验证 没有配置成功则无显示.
4.4 CPU相关优化选项 这部分选项一般不需要设置编译安装过程会自动识别。如果需要添加特定feature可以自己添加。只要CPU支持就会按照相关的代码路径去执行程序。 CPU_BASELINE CPU支持的SIMD指令集 如 CPU_BASELINE NEON,FP16 CPU_DISPATCH自定义支持其他SIMD指令集。 如 CPU_DISPATCH AVX,AVX2 Note: 运行时如不需要利用某个SIMD指令可以设置OPENCV_CPU_DISABLE来实现如 OPENCV_CPU_DISABLEFP16
5 参考资料 [1]OpenCV官网及githubhttps://opencv.org/https://github.com/opencv/opencv [2]OpenCV配置参考https://docs.opencv.org/master/db/d05/tutorial_config_referen... 推荐阅读
基于飞腾平台的Sqoop的安装配置基于飞腾平台的Flume的安装配置
欢迎广大开发者来飞腾开发者平台获取更多前沿技术文档及资料
如开发者在使用飞腾产品有任何问题可通过在线工单联系我们 版权所有。飞腾信息技术有限公司 2023。保留所有权利。 未经本公司同意任何单位、公司或个人不得擅自复制翻译摘抄本文档内容的部分或全部不得以任何方式或途径进行传播和宣传。 商标声明 Phytium和其他飞腾商标均为飞腾信息技术有限公司的商标。 本文档提及的其他所有商标或注册商标由各自的所有人拥有。 注意 本文档的内容视为飞腾的保密信息您应当严格遵守保密任务未经飞腾事先书面同意您不得向任何第三方披露本文档内容或提供给任何第三方使用。 由于产品版本升级或其他原因本文档内容会不定期进行更新。除非另有约定本文档仅作为使用指导飞腾在现有技术的基础上尽最大努力提供相应的介绍及操作指引但飞腾在此明确声明对本文档内容的准确性、完整性、适用性、可靠性的等不作任何明示或暗示的保证。 本文档中所有内容包括但不限于图片、架构设计、页面布局、文字描述均由飞腾和/或其关联公司依法拥有其知识产权包括但不限于商标权、专利权、著作权等。非经飞腾和/或其关联公司书面同意任何人不得擅自使用、修改复制上述内容。