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

专业创建网站手机网站建设哪家好

专业创建网站,手机网站建设哪家好,私家网站ip地址大全,网站建设团队很多朋友在 Linux 系统中为 C 程序安装 OpenCV #xff08;从源代码生成#xff09;时经常会遇到各种各样的问题#xff0c;尤其是对 C 生成系统或 Linux 不熟的情况下就更难以完成了。我也是被问得太烦了#xff0c;干脆写一篇文章来行详解。其实也不怎么复杂#xff0c;…很多朋友在 Linux 系统中为 C 程序安装 OpenCV 从源代码生成时经常会遇到各种各样的问题尤其是对 C 生成系统或 Linux 不熟的情况下就更难以完成了。我也是被问得太烦了干脆写一篇文章来行详解。其实也不怎么复杂主要是大家对这种事情没什么耐心罢了严格按下文介绍的步骤操作基本没有不成功的。 一、生成的目标 如果你只在 Python 中调用 OpenCV 完全可以使用 pip 命令安装任意版本 python3 -m pip install opencv-pythonVERSION 本文以下内容所介绍的是从源代码生成并安装 OpenCV 的方法这样安装的 OpenCV 具有以下特点 提供 C/C 程序调用接口并可选择是否支持 Python 可以任意删除不需要的组件避免安装过多的系统依赖减小空间占用 可以自行修改 OpenCV 源代码实现定制化目的 可自由配置生成选项实现更换底层库、生成共享/静态库、构建纯单线程版本等定制化需求 可以指定安装路径以方便同时兼容不同版本。 生成和安装完成后你会得到指定安装路径下的 OpenCV 众多头文件和各模块的共享库 (.so) 或静态库 (.a) 。如果指定了生成和安装 Python 接口还会得到 Python 包相关文件。 二、软硬件系统 系统方面 在 Linux 系统中安装 OpenCV 当然前提是有 Linux 操作系统各类较常见的 Linux 发行版都可以顺利安装甚至包括各类 arm 系统。 硬件方面 如果需要 CUDA 模块必须拥有 NVidia 显卡并正确安装了显卡驱动和 CUDA 。 内存方面不能低于 2GiB 空闲内存。请注意是空闲内存如果全部内存大小只有 2GiB 很可能是无法完成编译的。 CPU 没有限制但如果需要在 1 小时内生成完成 OpenCV 的所有组件含 CUDA大概需要 4 核以上的 CPU 。其中 CUDA 模块的生成时间非常缓慢如果你只有单核或双核 CPU 进行生成总时长可能在 2 个小时以上。 三、OpenCV 的组件 OpenCV 包括主体和 opencv-contrib 库两部分这兄弟俩的 github 地址分别是 GitHub - opencv/opencv: Open Source Computer Vision Library GitHub - opencv/opencv_contrib: Repository for OpenCVs extra modules 以 OpenCV 4.5.3 为例其主体提供的模块 core, imgcodecs, imgproc, calib3d, highgui, dnn, features2d, flann, gapi, ml, objc, objdetect, photo, stitching, ts, video, videoio opencv-contrib 则是一些外围组件提供的模块包括 cuda, alphamat, aruco, bgsegm, bioinspired, ccalib, cnn_3dobj, cvv, datasets, dnn_objdetect, dnn_superres, dnns_easily_fooled, dpm, face, freetype, fuzzy, hdf, julia, line_descriptor, matlab, mcc, optflow, ovis, plot, reg, rgbd, saliency, sfm, stereo, structured_light, surface_matching, text, tracking, xfeatures2d, ximgproc, xobjdetect, xphoto 这些库各自的功能在官方的说明文档中有非常详细的介绍此处就不展开说明了。 如果你不需要使用 opencv-contrib 库中的模块可以只生成 OpenCV 而无需下载和生成 opencv-contrib 。但务必注意如果要将 opencv-contrib 库加入 OpenCV 的生成这哥俩的版本号必须严格一致。 四、依赖项 生成 OpenCV 的主要依赖项在下表中列出 名称 apt package 名称 功能 编译系统 build-essential cmake pkg-config 生成 OpenCV 图像库 libpng-dev libjpeg-dev 提供各类图像格式的编解码 OpenBLAS libopenblas-dev 利用 CPU 向量运算指令为大量算法提供加速。 Eigen3 libeigen3-dev 提供线性代数相关算法支持 Intel TBB libtbb-dev 在 Intel CPU 上提供高性能并发计算支持 FFMPEG libavcodec-dev libavformat-dev libswscale-dev 提供视频编解码能力 GStreamer libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev 提供流媒体处理能力 GTK libgtk-3-dev libcanberra-gtk-module libcanberra-gtk3-module 图形化用户界面 上面这些依赖项中除了第一项之外都不是必须的但如果没有安装这些项生成出来的 OpenCV 就会缺少相应的功能。将上述依赖项汇总为一条 apt 命令如下 sudo apt-get install -y libcurl4 build-essential pkg-config cmake \ libopenblas-dev libeigen3-dev libtbb-dev \ libavcodec-dev libavformat-dev \ libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev \ libswscale-dev libgtk-3-dev libpng-dev libjpeg-dev \ libcanberra-gtk-module libcanberra-gtk3-module 你可根据需要来自行增减这些组件比如在服务器端安装不需要 GUI 支持那就不需要安装 GTK 相关的包这样生成出来的 OpenCV 自然也就不提供 imshow waitKey 等 GUI 相关函数。 五、生成 先下载源码包可从OpenCV 和 opencv-contrib 各自的 Release 页下载指定版本 Releases · opencv/opencv Releases · opencv/opencv_contrib 将源代码包解压后使 opencv 目录和 opencv-contrib 目录位于相同的父目录内并确认这两个目录下都存在 modules 子目录 ls opencv/opencv-4.3.1/modules ls opencv/opencv_contrib-4.3.1/modules 这些相对路径关系不可搞错。 OpenCV 使用 CMake 工具进行生成4.x 以上版本已支持 Ninjia编译选项繁多而复杂参见OpenCV configuration options reference 先在 opencv/opencv-4.3.1 目录下建立 build 子目录并进入 build 子目录 cd opencv/opencv-4.3.1 mkdir -p build cd build 然后执行 cmake 命令格式为 cmake .. -D选项名1设定值1 -D选项名2设定值2 这个命令中的「..」表示 CMakeLists.txt 文件所在的路径位于 build 的上级目录。CMake 执行生成时会生成许多辅助文件主要是 Makefile为了不让这些文件搞乱工程的根目录所以通常都会在工程目录下建立一个 「build」子目录在该子目录中执行 cmake 命令所有的辅助文件就会存放在这里。 命令的后面全部放在「..」前也可以是所有生成选项的设定。这里对最常用的一些选项进行整理和说明 CMAKE_BUILD_TYPERelease不在行成的库文件中包含调试信息并进行速度优化。如果指定为 Debug 就可以在 Debug 过程中进入 OpenCV 内部的代码但运行速度会略微下降。 CMAKE_VERBOSE_MAKEFILEON务必开启以便于发现编译中出现的问题。 CMAKE_INSTALL_PREFIX/usr/local指定 OpenCV 生成的库文件在系统中的安装路径。 BUILD_SHARED_LIBSON成共享库.so如果置为 OFF 则只会生成静态库.a OPENCV_EXTRA_MODULES_PATHopencv-contrib 目录按之前的描述应为 「../../opencv_contrib-4.3.1」。可以用 ls 命令确认相对路径是否存在。 OPENCV_ENABLE_NONFREEON如果置为OFF一些包含专利保护算法的函数将不会生成。 ENABLE_CXX11ON支持 C11 以上的语法和 STL 库。 BUILD_TESTSOFFBUILD_PERF_TESTSOFF关闭生成后的自我 TEST 大多数情况没有必要可大辐缩短生成时间。但如果怀疑生成的 OpenCV 库有问题可以进行自测。 OPENCV_GENERATE_PKGCONFIGON建议开启便于 C 程序通过 pkg-config 来引用 OpenCV 库。 WITH_CUDAONENABLE_FAST_MATHONCUDA_FAST_MATHONWITH_CUBLASON如果系统正确安装了 CUDA 并希望 OpenCV 启用 CUDA 支持这四个选项都要打开。 WITH_IPPONWITH_TBBONWITH_OPENMPONWITH_PTHREADS_PFON这四个选项控制 OpenCV 如何进行并发运算默认都是 ON但如果有需要生成一个绝对单线程运行的 OpenCV 请将这几个选项均置为 OFF 。 下面是最麻烦的一组选项支持 Python 调用的接口。如果不需要 Python 接口的可以跳过这一段。 首先Python2 已停止维护这里也不介绍支持 Python2 调用的方法了。如需 OpenCV 提供 Python3 支持要先设定 BUILD_opencv_python3ON 然后以下的三个选项必须设置正确否则 OpenCV 的 Python3 接口不能正常生成或被正确调用 PYTHON3_LIBRARYPython3 C接口库的路径 PYTHON3_NUMPY_INCLUDE_DIRSPython3 C头文件的路径 PYTHON3_PACKAGES_PATHOpenCV 的 Python3 包安装的路径。 这三个路径可能许多同学并不清楚但不用担心有以下命令可以自动找出这些路径 python3 -c from distutils.sysconfig import get_config_var;from os.path import dirname,join ; print(join(dirname(get_config_var(LIBPC)),get_config_var(LDLIBRARY))) python3 -c import numpy; print(
http://www.pierceye.com/news/299878/

相关文章:

  • 网站建设需求计划书手机应用市场
  • 乐清网站自助网站系统
  • 北京4网站建设WordPress不会php
  • wordpress百度搜索对接免费seo提交工具
  • 网站结构优化包括哪些WordPress多城市
  • 北京三屏网站制作wordpress 分词插件
  • 潍坊哪里可以做网站建设网站一定需要云服务器么
  • 高新网站建设多少钱重庆模板网站建设费用
  • 陕西的网站建设公司哪家好网站建设与维护典型案例
  • 遵义网站开发的公司有哪些网站建设vps
  • 百度网站与推广徐州网站建设网络推广
  • 8818网站建设网站建设平台一般多少钱
  • 万网怎样做网站调试百度在线扫一扫
  • 建设网站平台哪个好如何提高商城网站权重
  • 深圳手机网站设计抖音开放平台
  • 平山做网站优化网页版梦幻西游五色石攻略
  • 字体图标制作网站长沙网站排名公司哪家好
  • 百度和阿里哪个厉害做网站千万不要学数字媒体技术
  • 可信赖的商城网站建设长春疾控最新消息
  • 做阿里网站开发公司名字
  • 企业网站建设内容杭州有几个区
  • 松江建设管理中心网站网站sem托管
  • 做网站前期框架图射击官网
  • 吉首网站建设吉首网站建设网站app制作费用单
  • 网站最好的优化是什么经过学习网站开发后的心得体会
  • 如何把资料上传到网站公司网站建设视频教程
  • 济南建设网站平台泰安高端网站设计建设
  • 武安网站建设价格开发区网站建设
  • 安徽省住房城乡建设厅官方网站2022年最新热点素材
  • 济宁网站建设方面舟山网站设计公司