1、windows下

1.1 exe安装

windows下可以安装opencv的exe版本,已经编译好了,很省事。

https://opencv.org/releases.html下载需要的opencv版本,比如我下载的是opencv-2.4.13.5-vc14.exe和opencv-3.3.1-vc14.exe(注意,带vc14的为vs2015编译的版本)。

如果嫌下载速度太慢,可以在百度网盘下载:https://pan.baidu.com/s/1hs1sFjQ,密码:cvu0

这里以opencv-2.4.13.5.exe为例:

(1)点击下载的opencv-2.4.13.5.exe,解压到自己想安装的目录下(解压出来的就是opencv文件夹,没必要自己新建名为opencv的文件夹),本文解压路径为D:\install_work\opencv,不过为了安装多个版本的opencv,将其改名为D:\install_work\opencv2。

(2)将opencv根目录\build\python\2.7\x64下的cv2.pyd拷贝到python根目录\Lib\site-packages下面。(若系统为32位则选择opencv根目录\build\python\2.7\x86

(3)在自己的python环境中安装opencv-python:pip install opencv-python。最好安装至最新版(向下兼容),否则可能出现问题,比如使用的是opencv-3.3.1-vc14.exe的cv2.pyd,但opencv-python的版本是opencv-python 2.4.13.5,就肯定会出问题。旧版本可用pip install --upgrade opencv-python升级。

(4)在cmd下面输入python进入python命令行,然后输入import  cv2,如没有错误信息证明安装成功。

题外话:vs版本及python版本的选择

(1)查看opencv根目录\build\x64内的内容可以知道能直接使用的vs版本:

vc11→vs2012

vc12→vs2013

vc13→vs2014

vc14→vs2015

如果opencv能直接使用的vs版本与自己已安装的vs版本不符,则需要重新编译,坑比较多,可以参考相关博客,我觉得最好还是根据自己安装的vs版本来挑选opencv版本,或者电脑存储空间够大性能够强也可以多个版本vs都安装。

(2)查看opencv根目录\build\python内的内容可以知道能直接使用的python版本:

2.7→python2.7.xx

以上路径中:x64代表64位操作系统,x86代表32位操作系统。

多版本切换

python中想使用不同版本的opencv时,替换需要版本的cv2.pyd就行

c++中想使用不同版本的opencv时,在系统环境变量中构建OPENCV_HOME等根路径,在系统环境变量的path变量中添加相对路径:%OPENCV_HOME%\build\x64\vc14\bin,使用时,更改OPENCV_HOME即可完美切换不同版本的opencv。

1.2 源码安装

2、linux下

本文环境:

可能出现的问题

ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/local/lib/libopencv_contrib.so.2.4)(使用pycharm远程调试,import cv2时报错,服务器下import不报错)

原因

解决方案

(1)检查动态库:strings /usr/lib64/libstdc++.so.6 | grep GLIBC,发现没有GLIBCXX_3.4.20

(2)顺着gcc安装路径,找到了新的libstdc++:strings /usr/local/lib64/libstdc++.so.6.0.20|grep GLIBC

(3)删除旧的软链接,新建软链接:

cp /usr/local/lib64/libstdc++.so.6.0.20 /usr/lib64/
cd /usr/lib64/
rm -f libstdc++.so.6
ln -s libstdc++.so.6.0.20 libstdc++.so.6
ll libstdc* # 查看是否正确链接

opencv(0)安装与配置的更多相关文章

  1. 烂泥:zabbix3.0安装与配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 这个月又快过完了,最近也比较忙,没时间写文章,今天挤点时间把zabbix3.0安装与配置 ...

  2. CentOS-6.6下Tomcat-7.0安装与配置(Linux)

    CentOS-6.6下Tomcat-7.0安装与配置(Linux) 一.认识tomcat Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目, ...

  3. CDH6.3.0下Apache Atlas2.1.0安装与配置

    CDH6.3.0下Apache Atlas2.1.0安装与配置 0. 说明 文中的${ATLAS_HOME}, ${HIVE_HOME} 环境变更需要根据实际环境进行替换. 1. 依赖 A. 软件依赖 ...

  4. CentOS7.0安装与配置Tomcat-7

    解决权限不够 #chmod a+x filename 安装说明 安装环境:CentOS-7.0.1406安装方式:源码安装 软件:apache-tomcat-7.0.29.tar.gz 下载地址:ht ...

  5. Redis4.0.0 安装及配置 (Linux — Centos7)

    本文中的两个配置文件可在这里找到 操作系统:Linux Linux发行版:Centos7 安装 下载地址,点这里Redis4.0.0.tar.gz 或者使用命令: wget http://downlo ...

  6. macOS下MySQL 8.0 安装与配置教程

    一.前言 1.本教程主要内容 适用Homebrew安装MySQL MySQL 8.0 基础适用于配置 MySQL shell管理常用语法示例(用户.权限等) MySQL字符编码配置 MySQL远程访问 ...

  7. zabbix4.0安装和配置

    以下为master端安装,开始 内核$ cat /etc/centos-release CentOS Linux release 7.4.1708 (Core) $ uname -r 3.10.0-6 ...

  8. Maven3.5.0安装与配置+Eclipse应用

    Maven是一个优秀的构建工具(类似于 Ant, 但比 Ant 更加方便使用),能帮助我们自动化构建过程,从清理.编译.测试到生成报告,再到打包和部署.只需要输入简单的命令,Maven就可以帮我们处理 ...

  9. 【JMeter4.0】之 “jdk1.8、JMeter4.0” 安装与配置以及JMeter永久汉化和更改界面背景、并附加附录:个人学习总结

    目录: 一.首先,需要安装.配置jdk 二.其次,安装.配置JMeter 三.JMeter汉化以及更改界面背景 四.附录:个人学习总结 一.首先,需要安装.配置jdk   返回目录 1.到官网下载1. ...

随机推荐

  1. PythonCodingRule简略

  2. 为什么 “return s and s.strip()” 在用 filter 去掉空白字符时好使?

    如题: 给定一个数组,其中该数组中的每个元素都为字符串,删除该数组中的空白字符串. _list = ["A", "", "", " ...

  3. vue项目post请求405报错解决办法。

    步骤一: 确定ajax语法没有错误. 步骤二: 与后台对接确认请求是否打到nginx上? 步骤三: 检查nginx是否配置了事件转发,比如我们的接口是在,当前地址的8100端口上,并且接口地址上有v1 ...

  4. 关于Python运行代码报错:SyntaxError: Non-ASCII character '\xe5' in file的解决方法

    运行python文件报错如上 解决办法: # -*- coding: UTF- -*- 或者 #coding=utf- (注:此语句一定要添加在源代码的第一行) 原因:Python默认是以ASCII作 ...

  5. 深入分析tcp close与shutdown

    关闭socket-close 我们知道,tcp是一种支持全双工(full-duplex)通信的的协议,也就是说建立连接的两端可以在同一个时刻发送.接受数据.在需要关闭套接字的时候,我们一般调用: in ...

  6. Java并发编程原理与实战十八:读写锁

    ReadWriteLock也是一个接口,提供了readLock和writeLock两种锁的操作机制,一个资源可以被多个线程同时读,或者被一个线程写,但是不能同时存在读和写线程. 基本规则: 读读不互斥 ...

  7. MongoDB - Introduction to MongoDB, Databases and Collections

    MongoDB stores BSON documents, i.e. data records, in collections; the collections in databases. Data ...

  8. protobuffer

    [protobuffer] 1.扩展名为.proto. 2.定义一个协议: 3.定义一个Service: 4.编译器为protoc,使用protoc: 5.style:所有的类型名均CamelCase ...

  9. 如何定制Gtk版Emacs的Widget外观

    当我们使用 xlib 版的Emacs时,可以通过 XResource 定义 Emacs 的菜单 栏.工具条.滚动条的外观. 现在,在Linux上我们大多使用 gtk版的Emacs,是否还有办法定义 E ...

  10. LintCode 35: Reverse Linked List

    LintCode 35: Reverse Linked List 题目描述 翻转一个链表. 样例 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1 ...