此环境搭建是OpenCV的python(一下简称py)开发环境搭建,建立在py3的环境和语法上实现的。

windows系统搭建

系统环境:windows 10 + python 3.6 + OpenCV 3.4.1

一、安装python

python的安装之前在python自学笔记的项目中描述了,在这不做重复说明,有需要的朋友,点击查看:python环境安装

二、安装numpy模块

根据上文提示,现在我们已经正确安装了python和pip(安装和管理python包的工具),在正式安装OpenCV之前,首先我们要安装numpy模块。 numpy:是一个定义了数值数组和矩阵类型和它们的基本运算的语言扩展,OpenCV引用了numpy模块,所以安装OpenCV之前必须安装numpy。

本文安装python模块使用的是.whl文件安装的。

whl文件是什么?

whl是一个python的压缩包,其中包含了py文件以及经过编译的pyd文件。

whl安装命令

pip install 存放路径\xxx.whl

回到主题,我们是要安装numpy模块的。

首先去网站下载对应的numpy版本,下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 本人是64为系统python3.6所以对应的最新版本是:numpy‑1.14.2+mkl‑cp36‑cp36m‑win_amd64.whl,点击下载到D:根目录。

第2步,启动命令窗体运行

pip install d:\numpy‑1.14.2+mkl‑cp36‑cp36m‑win_amd64.whl

命令窗体显示:

Processing d:\numpy-1.14.2+mkl-cp36-cp36m-win_amd64.whl

Installing collected packages: numpy

Successfully installed numpy-1.14.2+mkl

说明已经安装成功。

三、安装OpenCV

同样安装OpenCV模块和numpy方式类似,实现去网站下载OpenCV对于的.whl版本压缩包,网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv 本人下载的版本是:opencv_python‑3.4.1‑cp36‑cp36m‑win_amd64.whl 64位系统对应python3.6的,下载到d盘根目录。

第2步,启动命令窗体运行

pip install d:\opencv_python-3.4.1-cp36-cp36m-win_amd64.whl

窗体显示:

Processing d:\opencv_python-3.4.1-cp36-cp36m-win_amd64.whl

Installing collected packages: opencv-python

Successfully installed opencv-python-3.4.1

说明安装成功。

四、运行OpenCV

到此,我们的环境配置已经完成了,终于到了可以撸代码的时刻了,想想还有一点小激动呢。

import cv2

print(cv2.__version__)

# 输出:3.4.1

上面我们简单的打印了OpenCV的版本号,如果能正常输出不报错,说明我们已经把OpenCV的python环境搭建ok了。

什么?感觉还不过瘾,那就来撸一张图,用OpenCV把它展示出来,代码如下:

import cv2

filepath = "img/meinv.png"
img = cv2.imread(filepath)
cv2.namedWindow('Image')
cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()


Linux版环境搭建

>Ubuntu 18.04
>Python 3.6.5
>Pip 10.0.1
>Numpy 1.14.3
>OpenCV 3.4.0

Ubuntu有一个好处就是内置Python环境,不需要像Windows那样在为Python环境折腾了,但要注意的是Ubuntu本身自带的apt-get和安装的pip的数据源是国外的,所以使用起来都很慢,一定要把apt-get和pip的数据源更换成国内的,请移步到:[《Ubuntu apt-get和pip源更换》](http://www.cnblogs.com/vipstone/p/9038023.html)

### 正式安装 ###
根据上面的提示,你已经配置好了开发环境,现在需要正式安装了,当然Ubuntu的安装也比Windows简单很多,只需要使用pip安装包,安装相应的模块即可。

#### 安装Numpy ####
使用命令:pip3 install numpy

使用命令:python3,进入python脚本执行环境,输入代码查看numpy是否安装成功,以及numpy的安装版本:
```
import numpy

numpy.__version__
```
正常输入版本号,证明已经安装成功。

如图:![](http://icdn.apigo.cn/numpy-setup-success.png)

#### 安装OpenCV ####
OpenCV的安装在Ubuntu和numpy相似,使用命令:
>pip3 install opencv-python

使用命令:python3,进入python脚本执行环境,输入代码查看OpenCV版本:
```
import cv2

cv2.__version__
```
正常输入版本号,证明已经安装成功。

# 常见错误 #

错误一、python3: Relink `/lib/x86_64-linux-gnu/libudev.so.1` with `/lib/x86_64-linux-gnu/librt.so.1` for IFUNC symbol `clock_gettime`
Segmentation fault (core dumped)

解决方案:apt install python3-opencv

更多更新,欢迎访问我的github:https://github.com/vipstone/faceai

OpenCV环境搭建(一)的更多相关文章

  1. eclipse+android+opencv环境搭建的步骤

    ---恢复内容开始--- 2016年4月12日编写 一.第一步:搭建eclipse开发环境 1.在eclipse官网中下载eclipse.zip进行解压即可.没有版本要求,但要和电脑的位数相匹配.如: ...

  2. OpenCV环境搭建

    前言 我在上本科时候曾经用过opencv,那时候还是1.x版本,还必须在linux下自己编译. 时过境迁,最近突然想起来写个小程序来分析图片,就又想起了opencv.现在已然是2.4的版本. 环境搭建 ...

  3. 针对于Python的OpenCV环境搭建

    OpenCV 依赖 下载OpenCV 配置 总结 给Python搭建opencv的环境还真是略嫌麻烦,于是做下笔记,以备不时之需. OpenCV 依赖 opencv有些依赖,我们必须安装一下,否则接下 ...

  4. Android开发:Eclipse+OpenCV环境搭建

    一.OpenCV预备: OpenCV是一个跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它由一系列 C 函数和少量 C++ 类构成,同时提供了Pyt ...

  5. Clion + opencv环境搭建(体验最好的C++ IDE)

    前言: 一个好的开发环境,是程序猿梦寐以求的,对于opencv的开发,一直觉得vs虽然牛逼但太庞大,所以后来用了codeblocks,然后又觉得无论是vs还是codeblocks都不够美观,代码提示也 ...

  6. win7 QT +opencv环境搭建

    1.Win7 Qt4.8.5+QtCreator2.8.0+mingw环境参考前博文先搭建 2.下载Cmake2.8.11.2版本,安装.运行 [项目]那编译器选择:MinGW4.4.另外,重新编译O ...

  7. OpenCV 环境搭建( Win7 32位 / VS2010 / OpenCV2.4.8 )

    前言 本文介绍如何搭建 OpenCV 开发环境 配置如下: 操作系统:WIN7 32位 开发平台:VS2010 OpenCV 版本:2.4.8 第一步:安装 OpenCV 2.4.8 1. 登陆 Op ...

  8. 基于java的OpenCV环境搭建

    一.OpenCV下载安装 OpenCV可以在官网下载链接https://opencv.org/releases.html 选择相应的版本下载保存就好(不过官网下载有时候真滴慢还会连不上.....)网盘 ...

  9. 【opencv】Java+eclipse+opencv 环境搭建 helloword入门demo

    文章为博主原创,纯属个人理解,如有错误欢迎指出. 如需转载,请注明出处. 引入jar包 引入配置文件 到此环境配置完成!!! 可能会出现的问题: 1. jdk版本不一致导致发生异常.如图 build ...

随机推荐

  1. Python内置函数(1)——abs

    英文文档: abs(x) Return the absolute value of a number. The argument may be an integer or a floating poi ...

  2. SpringCloud的服务注册中心(四)- 高可用服务注册中心的搭建

    一.双 服务注册注册中心 1.服务注册中心的服务端 - EurekaServer 1.1.EurekaServer1 String.application.name=eureka-server ser ...

  3. hadoop2.6.0实践:000 虚拟机配置

  4. CentOS ping www.baidu.com 报错 name or service not know

    今天尝试安装了centos系统 玩一玩 刚刚装好的操作系统 ping www.baidu.com的时候  报出 name or service not known 查了好多资料,都没有很好的解决 最后 ...

  5. django的models模型类的常用数据类型和选项

    django框架的models模块ORM框架,能够让我们通过编写类的方式,帮助我们自动生成数据库表. 生成的数据库表名为 应用模块名称_类名 数据库表中字段名 如果我们没有在参数中指定,就是我们写的类 ...

  6. oracle11g导出表时会发现少表,空表导不出解决方案。

    一:背景引入 oracle11g用exp命令导出数据库表时,有时会发现只导出了一部分表时而且不会报错,原因是有空表没有进行导出,之前一直没有找到方法于是用最笨的方法重新建这些空表,当然在我们实际当中表 ...

  7. python基础——列表推导式

    python基础--列表推导式 1 列表推导式定义 列表推导式能非常简洁的构造一个新列表:只用一条简洁的表达式即可对得到的元素进行转换变形 2 列表推导式语法 基本格式如下: [expr for va ...

  8. 控件篇:CheckedListBox的全选与反选

    private void cbXmlAll_CheckedChanged(object sender, EventArgs e) { for (int i = 0; i < cblXmlList ...

  9. 在Windows环境中使用Nginx, Consul, Consul Template搭建负载均衡和服务发现服务

    搭建负载均衡和服务发现服务的目的 随着网站业务的不断提升,单个服务器的性能越来越难满足客户的业务需求,所以很多情况下,需要使用多服务器实例和负载均衡器来满足业务需要. Nginx 什么是Nginx N ...

  10. [LeetCode] Sum of Square Numbers 平方数之和

    Given a non-negative integer c, your task is to decide whether there're two integers a and b such th ...