根据项目需要,安装opencv并提供给开发使用,并且使用opencv提供python3的API接口。虽然不知道是个啥,还是简单了解下。

opencv是什么?

OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。该程序库也可以使用英特尔公司的IPP(收费库)进行加速处理。

环境信息:

opencv-3.4.4 //3.x版本以上建议使用7系列来安装,省掉超多升级步骤

opencv_contrib-3.4.4 //opencv3以后 SIFT 和 SURF 之类的属性被移到了 contrib 中

centos7

gcc 4.8.x

cmake 2.8.x

pyenv //shell脚本编写的python版本管理工具

pyenv-virtualenv //虚拟环境

python 3.x //使用opencv提供的python3的API接口

一、下载源码包

二、安装python环境

//安装编译包

~]# yum install -y cmake gcc gcc-c++

//安装图形特性功能

]# yum install -y gtk* libdc1394-devel libv4l-devel ffmpeg-devel gstreamer-plugins-base-devel

//安装图片功能

]# yum install -y libpng-devel libjpeg-turbo-devel jasper-devel openexr-devel libtiff-devel libwebp-devel

三、安装python依赖库

~]# pyenv virtualenv 3.4.1 opencv //创建一个opencv别名的python3.4.1版本的环境

~]# pyenv activate opencv //切换至虚拟opencv环境中

(opencv) ~]# pip install numpy==1.13.1 //根据项目需要选择性安装

(opencv) ~]# pip install dlib==19.9.0

(opencv) ~]# pip install scipy==0.18.0

四、编译安装opencv

在linux下安装gtk-devel时会引入安装python2的安装,导致在使用cmake时会检测到两个python版本,而cmake会倾向于使用低版本的python2。

错误过程

(opencv) ~]# tar xf opencv-3.4.4.tar.gz -C /usr/local/pkg/

(opencv) ~]# tar xf opencv_contrib-3.4.4.tar.gz -C /usr/local/pkg/

(opencv) ~]# cd /usr/local/pkg/

(opencv) ~]# mkdir opencv-3.4.4/build //创建build编译目录

(opencv) ~]# cd opencv-3.4.4/build

(opencv) ~]# cmake -D CMAKE_BUILD_TYPE=RELEASE \

-D INSTALL_PYTHON_EXAMPLES=ON \

-D OPENCV_EXTRA_MODULES_PATH=/usr/local/pkg/opencv_contrib-3.4.4/modules ..

....

-- The CXX compiler identification is GNU 4.8.5

-- The C compiler identification is GNU 4.8.5

-- Check for working CXX compiler: /usr/bin/c++

-- Check for working CXX compiler: /usr/bin/c++ -- works

-- Detecting CXX compiler ABI info

-- Detecting CXX compiler ABI info - done

-- Check for working C compiler: /usr/bin/cc

-- Check for working C compiler: /usr/bin/cc -- works

-- Detecting C compiler ABI info

-- Detecting C compiler ABI info - done

-- Performing Test HAVE_CXX11 (check file: cmake/checks/cxx11.cpp)

-- Performing Test HAVE_CXX11 - Failed

**-- Found PythonInterp: /usr/bin/python2.7 (found suitable version "2.7.5", minimum required is "2.7")

-- Found PythonLibs: /lib64/libpython2.7.so (found suitable exact version "2.7.5")** //这里已经查找到相应的环境信息

Traceback (most recent call last):

File "", line 1, in

ImportError: No module named numpy.distutils

**-- Found PythonInterp: /usr/local/python/.pyenv/versions/3.4.1/bin/python (found suitable version "3.4.1", minimum required is "3.2")

-- Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS) (Required is exact version "3.4.1")**

//这里没有发现PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS环境信息。需要要在cmake时指定相应信息

....

-- OpenCL: YES (no extra features)

-- Include path: /usr/local/pkg/opencv-3.4.4/3rdparty/include/opencl/1.2

-- Link libraries: Dynamic load

--

**-- Python 2:

-- Interpreter: /usr/bin/python2.7 (ver 2.7.5)

-- Libraries: /lib64/libpython2.7.so (ver 2.7.5)

-- numpy: /usr/lib64/python2.7/site-packages/numpy/core/include (ver 1.13.1)

-- packages path: lib/python2.7/site-packages**

//这不是我想要的,需求是python3

--

-- Python (for build): /usr/bin/python2.7

--

-- Java:

-- ant: NO

-- JNI: /usr/lib/jvm/java/include /usr/lib/jvm/java/include/linux /usr/lib/jvm/java/include

-- Java wrappers: NO

-- Java tests: NO

--

-- Install to: /usr/local

#### 正确过程

```

...

(opencv) ~]# cmake -D CMAKE_BUILD_TYPE=RELEASE \

-D INSTALL_PYTHON_EXAMPLES=ON \

**-D BUILD_opencv_python3=ON \

-D BUILD_opencv_python2=OFF \**

-D PYTHON_EXECUTABLE=$(which python) \

-D PYTHON_INCLUDE_DIR=$(python -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \

-D PYTHON_LIBRARY=$(python -c "import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var('LIBDIR'))") \

-D OPENCV_EXTRA_MODULES_PATH=/usr/local/pkg/opencv_contrib-3.4.4/modules ..

...

-- OpenCL: YES (no extra features)

-- Include path: /usr/local/python/opencv-3.4.4/3rdparty/include/opencl/1.2

-- Link libraries: Dynamic load

--

-- Python 3:

-- Interpreter: /usr/local/python/.pyenv/shims/python3 (ver 3.4.1)

-- Libraries: /usr/local/python/.pyenv/versions/3.4.1/lib (ver 3.4.1)

-- numpy: /usr/local/python/.pyenv/versions/3.4.1/lib/python3.4/site-packages/numpy/core/include (ver 1.13.1)

-- packages path: lib/python3.4/site-packages

--

-- Python (for build): /usr/local/python/.pyenv/shims/python3

--

-- Java:

-- ant: NO

-- JNI: /usr/lib/jvm/java/include /usr/lib/jvm/java/include/linux /usr/lib/jvm/java/include

-- Java wrappers: NO

-- Java tests: NO

--

-- Install to: /usr/local

-- -----------------------------------------------------------------

--

-- Configuring done

-- Generating done

-- Build files have been written to: /usr/local/python/opencv-3.4.4/build

(opencv) ~]# make -j 8 //使用几个CPU来运,越多速度越快

(opencv) ~]# make install

....

-- Set runtime path of "/usr/local/python/cv2/python-3.4/cv2.cpython-34m.so" to "/usr/local/lib64"

...

//这时已经安装好,并且生成了相应.so文件,我们只需把库文件拷贝到相应python版本的库目录下即可

(opencv) ~]# cp -a /usr/local/python/cv2/python-3.4/cv2.cpython-34m.so /usr/local/pkg/.pyenv/versions/3.4.1/lib/python3.4/cv2.so

(opencv) ~]#

```

六、测试

(opencv) ~]# python

>>> import cv2

>>> cv2.__version__

'3.4.4'

Mac-OSX的Python3.5虚拟环境下安装Opencv

Mac-OSX的Python3.5虚拟环境下安装Opencv 1   关键词 关键词:Mac,OSX,Python3.5,Virtualenv,Opencv 2   概述 本文是一篇 环境搭建 的基础 ...

CentOS下安装hadoop

CentOS下安装hadoop 用户配置 添加用户 adduser hadoop passwd hadoop 权限配置 chmod u+w /etc/sudoers vi /etc/sudoers 在 ...

CentOS下安装使用start-stop-daemon

CentOS下安装使用start-stop-daemon 在centos下下了个自启动的服务器脚本 执行的时候发现找不到start-stop-daemon命令 好吧 执行手动编译一下 加上这个命令 w ...

从零开始学 Java - CentOS 下安装 Tomcat

生活以痛吻我,我仍报之以歌 昨天晚上看到那个冯大辉老师的微信公众号,「小道消息」上的一篇文章,.知乎一篇匿名回答,主题为

CentOS 下安装

2016年12月5日15:25:58 ----------------------------------- 通常情况下在centos下安装软件就用yum. 关键是,使用yum你要知道安装包的名字是什 ...

[Linux]CentOS下安装和使用tmux

前天随意点开博客园,看到了一篇关于tmux的文章 Tmux - Linux从业者必备利器,特意还点进去看了.毕竟Linux对于做游戏服务端开发的我来说,太熟悉不过了.不过我就粗略地看了一眼,就关掉了. ...

CentOS下安装JDK7 转载

转载地址:http://www.cnblogs.com/rilley/archive/2012/02/02/2335395.html CentOS下安装JDK7 下载地址:http://www.ora ...

Centos下安装mysql 总结

一.MySQL安装 Centos下安装mysql 请点开:http://www.centoscn.com/CentosServer/sql/2013/0817/1285.html 二.MySQL的几个 ...

在centos下安装django

这里有一个不错的Django的学习资料.先收藏一下,以备后用.谢谢 http://www.ziqiangxuetang.com/django/django-install.html 在centos下安 ...

随机推荐

前端学PHP之PDO预处理语句

× 目录 [1]定义 [2]准备语句 [3]绑定参数[4]执行查询[5]获取数据[6]大数据对象 前面的话 本来要把预处理语句和前面的基础操作写成一篇的.但是,由于博客园的限制,可能是因为长度超出,保 ...

从ASP.NET 升级到ASP.NET5(RC1) - 翻译

前言 ASP.NET 5 是一次令人惊叹的对于ASP.NET的创新革命. 他将构建目标瞄准了 .NET Core CLR, 同时ASP.NET又是对于云服务进行优化,并且是跨平台的框架.很多文章已经称 ...

EasyUI---tree

EasyUI的tree在获取action返回的json字符串时最少具有三个属性id.text和children,这样在读取时才会在页面正常显示树形 这里比较重要的就是在数据库中对数据的存储吧,说白了还 ...

iOS MJRefresh下拉刷新(上拉加载)使用详解

下拉刷新控件目前比较火的有好几种,本人用过MJRefresh 和 SVPullToRefresh,相对而言,前者比后者可定制化.拓展新都更高一点. 因此本文着重讲一下MJRefresh的简单用法. 导 ...

个人PE流程备忘

insmod memdisk     linux16 /boot/memdisk iso raw   initrd16 /iso/Win8PE.iso

Kubernetes之Deployment控制器

Deployment 简介 deployment 是用来管理无状态应用的,面向的集群的管理,而不是面向的是一个不可变的个体,举例:有一群鸭子,要吃掉一个,只需要再放一个新的鸭仔就好了,不会影响什么,而 ...

聊聊zookeeper的分布式锁

分布式锁就是多台机器,分布在不同的JVM中,这些不同JVM内的方法需要获取一个唯一锁,比如获取锁之后要把数据写入数据库,保证数据在同一时刻只有一台机器写入数据库. 分布式锁的实现有多种实现方法,除了今 ...

laravel 5.3 ——路由(资源,别名)

laravel的路由定义中,其中route:resoure(),可以直接定义类似restful风格的URL 例如:Route::resource('system/role','System\RoleC ...

Oracle下select语句

先看scott下自带的emp表 empno:编号  ename:名字  Job:职位  mgr:上级编号 hiredate:入职时间 sal:薪水 comm:奖金 deptno:部门编号 部门表dep ...

macOS,安装+配置+激活:MySQL8.0 + Navicat Premium12

作者的电脑是10.13.3,些许配置偏差请自行略过 本文是学习探讨途径,请勿滥用,后果自负 MySQL8.0 篇章 官网http://www.mysql.com/downloads/ 下载即可,无需激 ...

opencv python安装 centos_centos下安装opencv相关推荐

  1. python或anaconda下安装opencv提示Error:No matching distribution found for opencv

    python或anaconda下安装opencv提示Error:No matching distribution found for opencv 错误提示: ERROR: Could not fin ...

  2. 利用python安装opencv_Linux下安装OpenCV+Python支持

    原博文 2016-08-22 09:42 − 以下说明在Linux下Python和OpenCV结合安装的过程,Python要使用OpenCV模块,则必须导入OpenCV提供的包,所以要提供Python ...

  3. python连接opencv库_python环境下安装opencv库的方法

    注意:安装opencv之前需要先安装numpy,matplotlib等 一.安装方法 方法一.在线安装 1.先安装opencv-python pip install opencv-python --u ...

  4. python的opencv库_python环境下安装opencv库的方法

    注意:安装opencv之前需要先安装numpy,matplotlib等 一.安装方法 方法一.在线安装 1.先安装opencv-python pip install opencv-python --u ...

  5. 在anaconda python开发套件下进行opencv的安装

    0. 使用 pip 进行安装 opencv 所对应的包名不是 cv2,不是 opencv,而是 opencv-python $ pip install opencv-python 1. 一般的手段 安 ...

  6. OpenCV 最新版windows下安装教程

    一.下载 在opencv官网上进行下载:Releases - OpenCV 下载完成后,双击exe执行解压程序,无需设置目录,解压程序会自动创建opencv文件夹. 二.配置环境变量 计算机,右键属性 ...

  7. python爬虫scrapy步骤mac系统_Mac中Python 3环境下安装scrapy的方法教程

    前言 最近抽空想学习一下python的爬虫框架scrapy,在mac下安装的时候遇到了问题,逐一解决了问题,分享一下,话不多说了,来一起看看详细的介绍吧. 步骤如下: # 在Mac上Python3环境 ...

  8. windows如何安装python-windows下安装python过程

    方法一:如果你的电脑没有安装python,推荐使用anaconda(自带python环境,同时自带各种第三方库,可以省去很多麻烦) 这里提供两个下载地址:1,.官网https://www.anacon ...

  9. python seaborn安装_Windows下安装pip、matplotlib以及seaborn

    安装Matplotlib 一个有用的python包下载网址 安装python 安装pip(一个python包管理工具) 下载tar.gz包,解压,然后在命令行里进入解压目录,输入 python set ...

最新文章

  1. [Java并发编程(二)] 线程池 FixedThreadPool、CachedThreadPool、ForkJoinPool?为后台任务选择合适的 Java executors...
  2. 洛谷P1678-烦恼的高考志愿
  3. Ai写的文章会死掉至少90%的创作者,作为图文自媒体,如何破局?
  4. android lottie字体json,lottie-android
  5. 2017年AR大会上海站干货分享
  6. java 二叉排序_java实现二叉排序树
  7. python两大特性与四大语法_Day 1:Python 两大特性和四大基本语法
  8. MongoDB的Go语言驱动----mgo的使用指南
  9. 申请办理美国亚马逊质量检验报告前,需准备什么资料?
  10. h3c 链路聚合测试_H3CSE学习之链路聚合
  11. 每台计算机ip地址,每台电脑均要设置IP地址,究竟什么是IP地址,到底有什么用呢?...
  12. 软件设计模式学习总结
  13. 学生用计算机没电了,cfa计算器没电了怎么办
  14. 22. SCHEMA_PRIVILEGES
  15. 教学向|比较难的人体构造建模,用zbrush构建脸部与肌肉形状
  16. 完美Vista 自动激活安装版下载
  17. 软件工程师待遇怎么样?软件工程师薪水到底有多高?
  18. Echarts legend组件 图例默认选中状态
  19. 头哥Numpy初体验答案
  20. 使用python读取和分析fasta文件

热门文章

  1. android邮件系统uml建模,软件设计UML分析--邮件管理系统.ppt
  2. 执行RMAN恢复的高级场景_执行灾难恢复(Disaster Recovery)
  3. Preact(React)核心原理
  4. JAVA获取主机IP地址
  5. pyqt5 GUI实战开发,eric6的安装以及eric6与Qt Designer的使用
  6. MySQL procedure详解
  7. $(...).modal is not a function的解决办法
  8. Java服务端处理音频
  9. Python-正则表达式匹配中文汉字(支线任务:并将匹配结果写入Excel)
  10. 电商项目之电子账户的收单模式