ubuntu14.04 python2.7 安装配置OpenCV3.0

环境:ubuntu14.04  python2.7

内容:安装并配置OpenCV3.0

今天按照OpenCV官网上的步骤装了OpenCV但是,装好之后python提示“No module named cv2”

首先,安装OpenCV的步骤:

OpenCV官网的安装步骤:http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html#linux-installation

1.下载OpenCV:https://codeload.github.com/Itseez/opencv/zip/3.0.0

2.解压:

1 tar -xzvf opencv3.0.0

3.安装OpenCV需要的包:

  • GCC 4.4.x or later
  • CMake 2.6 or higher
  • Git
  • GTK+2.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
  • [optional] libtbb2 libtbb-dev
  • [optional] libdc1394 2.x
  • [optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
    1 sudo apt-get install build-essential
    2 sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
    3 sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

4.在解压出来的opcv目录里,建一个release目录,然后再用cmake对源码进行编译。(使用官网的方法最后OpenCV的安装目录就是release这个目录)

1 cd ~/opencv
2 mkdir release
3 cd release
4 cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..  //这里后边有两个点不能省略,但是是什么意思我还没搞懂

5.然后安装

1 sudo make
2 sudo make install

至此,安装完成。

 

然后,解决安装完成之后,python引用OpenCV出现“No module named cv2”的问题。

这里我主要参考的是这篇博文:http://pinkyjie.com/2010/10/19/ubuntu-opencv-python/

这里先提示以下这个地方,make的过程中会出现这个文件“cv.so”,它是连接OpenCV和python的关键文件。

出现“No module named cv2”,原因就是python找不到我们刚才提到的cv.so文件,我们进入路径/usr/local/lib/python2.7中发现有两个文件夹,一个是dist-package,一个是site-package,python默认只在前者里搜索,而我们生成的cv.so文件则在我们的安装目录"../../opencv3.0.0/release"中(还记得这个目录吧,就是我们刚才在安装过程中建的那个目录,如果你的安装目录中没有这个文件,则说明前面的make步骤出问题了,可能需要重新走一遍整个安装过程),我们只需要简单的将它移动到dist-package文件夹即可。

 

最后,我的测试程序:

1 import cv2
2 
3 img = cv2.imread('lena.jpg')
4 cv2.imshow('image',img)
5 k = cv2.waitKey(0)
6 cv2.destroyAllWindows() 

 

转载于:https://www.cnblogs.com/asmer-stone/p/4592421.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/273179.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[iOS] Win8下在Vmware11中安装使用苹果系统OS X 10.10

近来因为人事变动,领导打算安排我做 iOS 的项目,所以需要花一些时间提前准备一下iOS相关的东西。因为自己手头上并没有 Mac(过年为了闲的时候能玩玩游戏买了联想,唉),想想不能只靠每天在公司的时间练 demo …

html5的网络书店图书网站代码_【技能提升】10个编写HTML5的实用小技巧

1. 新的文档类型(Doctype)html PUBLIC ”-//W3C//DTD XHTML 1.0 Transitional//EN”“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>上面这个既麻烦又难记的XHTML文档类型你还在使用吗?如果还是这样的话,现在该切换到新的HTML5文档类型…

sql中if语句的用法_Python中的if条件语句

Python中的if语句在实际的编程中,经常需要检查一系列条件,并据此决定采取什么措施。正常情况下,程序的执行是自上而下的进行,if语句则根据条件判断,实现程序的执行顺序改变。一、if-else语句1、语法:if 条件…

mysql中non用什么_mysql Non-Transactional Database Only(只支持MyISAM)

后来在做WordPress,一开始还不知道原来WordPress用的是InnoDB数据引擎,于是在原来的数据库里面就建了一个数据库,一开始也没发觉问题,安装,导入sql,都没问题,当时也没多想。直到这几天因为又要装多一个Word…

timed_waiting线程是否占用cpu_程序CPU占用率飙升,如何定位线程的堆栈信息?超详细,值得收藏看不懂还有配套视频 第319篇...

相关历史文章(阅读本文前,您可能需要先看下之前的系列?)国内最全的Spring Boot系列之三2020上半年发文汇总「值得收藏」GraphQL的探索之路 – SpringBoot集成GraphQL小栗子篇二 - 第315篇GraphQL的探索之路 – SpringBoot集成GraphQL之Query篇三 - 第316篇GraphQL的…

sql多层嵌套别名无效_SQL之复杂查询

前文学了汇总分析,学了常见的汇总函数,会分组并且掌握了对分组结果指定条件。今天开始学习SQL的视图和子查询,还有数据库关联与嵌套查询内容的学习。一、视图1.1视图是有单固定存储可反复读取使用的子查询,所以视图适用于频繁使用…

POJ 1195 Mobile phones【 二维树状数组 】

题意&#xff1a;基础的二维数组&#xff0c;注意 0 lowbit(0)会陷入无限循环----- 之前做一道一维的一直tle,就是因为这个-------------------------- 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include <cmath> 5 #includ…

基于Angularjs实现分页

前言 学习任何一门语言前肯定是有业务需求来驱动你去学习它&#xff0c;当然ng也不例外&#xff0c;在学习ng前我第一个想做的demo就是基于ng实现分页&#xff0c;除去基本的计算思路外就是使用指令封装成一个插件&#xff0c;在需要分页的列表页面内直接引用。 插件 在封装分页…

mbot机器人初体验_[首发开箱]Makeblock mBot Ranger mBot游侠版 强大的STEM教育机器人...

本帖最后由 ahagowo 于 2016-4-17 08:38 编辑mBot游侠机器人套件是一个三种功能于一身的STEM教育机器人套件&#xff0c;它支持3种组装形态&#xff1a;机器人坦克&#xff0c;三轮赛车&#xff0c;和自平衡车。mBot游侠可通过 iPad&#xff0c;平板计算机或笔记本计算机来编程…

python课程笔记_Python课程笔记(一)

由于新冠状病毒的爆发&#xff0c;不得不在家里上网课&#xff0c;开课已经两个礼拜了&#xff0c;今天上完Python课后&#xff0c;准备整理一下最近学习Python的笔记。人生苦短&#xff0c;我用Python一、Hello World初学一门新的语言&#xff0c;就一定要从Hello World开始pr…

redis的lrange_thinkphp5操作redis系列教程】列表类型之lRange,lGetRange

namespace app\admin\controller;use think\cache\driver\Redis;use think\Controller;use \think\Db;class Index extends Controller{//获取redispublic function getRedis(){$redis new \Redis();$redis->connect(127.0.0.1,6379);$redis->auth(root); //redis密码ec…

云服务器建站原理_云服务器cvm与建站主机之间的区别

(文章来源&#xff1a;西部数码)云服务器cvm与建站主机区别是什么&#xff1f;cvm的英文全拼是CloudVirtualMachine(云虚拟机)&#xff0c;所以云服务器cvm是指虚拟云服务器&#xff0c;属于云服务器产品中的一种。而建站主机一般多是指虚拟主机&#xff0c;是在服务器中划分出…

maven找到mysql 连接池_在Tomcat6.0+MySQL5.0环境下配置和使用数据库连接池

一&#xff0c;在Tomcat中配置连接池的JNDI首先到MySQL的网站上下载MySQL JDBC连接器放到%CATALINA_HOME%/lib目录下&#xff0c;在%CATALINA_HOME%/conf目录下找到context.xml&#xff0c;这个文件是全局的&#xff0c;如果想只对特定的应用使用可以编辑WEB-INF/context.xml文…

mysql将多个成绩放在一排_mysql巧用连表查询各科成绩前三名

下列是各表的详情&#xff0c;不想自己建表的同学可以直接copy code&#xff0c;数据随意。创建表成绩详情表&#xff1a;CREATE TABLE score (id int(10) NOT NULL AUTO_INCREMENT,subject_id int(10) DEFAULT NULL,student_id int(10) DEFAULT NULL,score float DEFAULT NULL…

LeetCode Contains Duplicate (判断重复元素)

题意&#xff1a; 如果所给序列的元素不是唯一的&#xff0c;则返回true&#xff0c;否则false。 思路&#xff1a; 哈希map解决。 1 class Solution {2 public:3 bool containsDuplicate(vector<int>& nums) {4 unordered_map<int,int> mapp;5 …

提高团队代码质量

近期看到一篇博客。大致的意思就是网管将原本混乱不堪的交换机整理整齐了&#xff0c;起初交换机是图2那样的&#xff0c;由于越来用的人越多&#xff0c;操作的人越来越多。终于成为了图1那个样子。这不禁让我想到了项目中的代码。原先在刚上线的时候谈不上是完美的&#xff0…

webrender 查看是否开启_想要体验极致顺滑的网页加载体验?手动开启Firefox WebRender渲染引擎...

昨天我们提到火狐浏览器最新稳定版Mozilla Firefox v67 版将面向部分用户开启WebRender渲染引擎测试。据火狐浏览器团队介绍当用户开启新的渲染引擎后 , 网页加载帧率能够从现有的 20FPS 直接提升到 60FPS。不过新的渲染引擎本身并不是用于加快网页的加载速度&#xff0c;而是…

NOIP201307货车运输

试题描述A 国有n座城市&#xff0c;编号从1到n&#xff0c;城市之间有m条双向道路。每一条道路对车辆都有重量限制&#xff0c;简称限重。现在有q辆货车在运输货物&#xff0c;司机们想知道每辆车在不超过车辆限重的情况下&#xff0c;最多能运多重的货物。输入第一行有两个用一…

knime如何连接mysql_knime怎么连接MySQL?

首先判断一下网络是否通&#xff1a;如果在局域网相同网段内那网络是通的&#xff0c;不同网段间需要看是否有做隔离&#xff0c;如果没有隔离&#xff0c;那就也是通的。测试方法可以用telnet 数据库IP 数据库端口号的方式探测一下 例如 telnet 192.168. 1.124 3306创建用户&a…

Asp.net Vnext IValueProvider

概述 本文已经同步到《Asp.net Vnext 系列教程 》中] IValueProvider 根据ValueProvider获取数据&#xff0c;在对数据进行绑定 代码实现 private class CustomValueProvider : IValueProvider{//判断否具有指定的前缀public Task<bool> ContainsPrefixAsync(string pref…