OpenCV学习笔记(二十):Win8.1 64位+OpenCV 2.4.9+Python2.7.9配置

OpenCV提供了Python接口,主要特性包括:

  • 提供与OpenCV 2.x中最新的C++接口极为相似的Python接口,并且包括C++中不包括的C接口
  • 提供对OpenCV 2.x中所有主要部件的绑定:CxCORE (almost complete), CxFLANN (complete), Cv (complete), CvAux (C++ part almost complete, C part in progress), CvVidSurv (complete), HighGui (complete), and ML (complete)
  • 在Python中访问C++中的数据结构
  • 完善的内存管理,使用者无须担心内存的问题
  • 可以在 OpenCV 的 Mat 与 wxWidgets, PyGTK, and PIL 中使用的 arrays 互相转换

比起C++,Python适合做原型。这里介绍如何配置OpenCV 2.4.9+Python2.7.9,以便在Python中使用OpenCV图形库。

需要下载的东西如下(注意版本问题):

一.opencv 2.4.9 下载链接: http://opencv.org/ ,关于opencv的编译与配置可参考:http://blog.csdn.net/liyuefeilong/article/details/43526975

http://blog.csdn.net/liyuefeilong/article/details/44872809

二.python 下载链接: https://www.python.org/. (版本选择python2.7.9)

三.NumPy(opencv的python版需要该模块,NumPy的版本要和Python版本相同),这里提供两种安装方法:

1.此处下载链接: http://www.lfd.uci.edu/~gohlke/pythonlibs/ 选择最新版本numpy-1.9.2+mkl-cp27-none-win_amd64.whl,请留意不要下载成cp27对应python 2.7版本,若python选择64位,则NumPy也必须选择64版本。whl文件的安装步骤如下:

  • 将下载的NumPy包移动到python安装位置(笔者的路径为C:\Python27)下的Scripts文件夹
  • Shift+右键打开命令窗口cmd,输入:pip install wheel 安装wheel模块。
  • wheel安装成功后,在命令窗口中键入以下命令即安装成功:
cd c:/Python27/Scripts
pip install numpy-1.9.2rc1+mkl-cp27-none-win_amd64.whl

2.下载链接: http://download.csdn.net/detail/liyuefeilong/8647101

下载完成后,运行文件numpy-MKL-1.8.0.win-amd64-py2.7.exe,一步一步安装即可。

简单的配置

在opencv文件夹中,找到build->python->2.7,其中包含x86和x64两个文件夹,由于这里安装的python和NumPy均为64位版本,因此复制x64文件夹中的cv2.pyd文件到C:\Python27\Lib\site-packages 中即可。

为了测试安装和配置是否成功,可以打开opencv\sources\samples\python中的例程,如:camera.py,正常情况下即可调用电脑的默认摄像头:

或者双击运行drawing.py,如果没有问题应该看到彩色条纹。

文件夹包含许多例程,其中一些在打开后只是一闪而过,一种原因是程序需要若干参数,这里只是验证配置是否正确,若要跑通所有例程,还是要打开代码看看。事实上,opencv里的很多宏在python里需要加上cv2.cv前缀即可生效。

参考链接:http://blog.csdn.net/nwpulei/article/details/7277511

http://blog.csdn.net/gxf1027/article/details/9324671

http://www.open-open.com/lib/view/open1355657468166.html

时间: 2024-10-15 00:55:09

OpenCV学习笔记(二十):Win8.1 64位+OpenCV 2.4.9+Python2.7.9配置的相关文章

马哥学习笔记二十四——分布式复制快设备drbd

DRBD: 主从 primary: 可执行读.写操作 secondary: 文件系统不能挂载 DRBD: dual primay, 双主(基于集群文件系统的高可用集群) 磁盘调度器:合并读请求,合并写请求: Procotol:drbd数据同步协议 A: Async, 异步  数据发送到本机tcp/ip协议栈 B:semi sync, 半同步  数据发送到对方tcp/ip协议 C:sync, 同步  数据到达对方存储设备 DRBD Source: DRBD资源 资源名称:可以是除了空白字符外的任意

【Unity 3D】学习笔记二十八:unity工具类

unity为开发者提供了很多方便开发的工具,他们都是由系统封装的一些功能和方法.比如说:实现时间的time类,获取随机数的Random.Range( )方法等等. 时间类 time类,主要用来获取当前的系统时间. using UnityEngine; using System.Collections; public class Script_04_13 : MonoBehaviour { void OnGUI() { GUILayout.Label("当前游戏时间:" + Time.t

angular学习笔记(二十八)-$http(6)-使用ngResource模块构建RESTful架构

ngResource模块是angular专门为RESTful架构而设计的一个模块,它提供了'$resource'模块,$resource模块是基于$http的一个封装.下面来看看它的详细用法 1.引入angular-resource.min.js文件 2.在模块中依赖ngResourece,在服务中注入$resource var HttpREST = angular.module('HttpREST',['ngResource']); HttpREST.factory('cardResource

Android学习笔记二十九之SwipeRefreshLayout、RecyclerView和CardView

Android学习笔记二十九之SwipeRefreshLayout.RecyclerView和CardView 前面我们介绍了AlertDialog和几个常用的Dialog,ProgressDialog进度条提示框.DatePickerDialog日期选择对话框和TimePickerDialog时间选择对话框.这一节我们介绍几个新的API控件SwipeRefreshLayout.RecyclerView和CardView,这几个API控件都是google在Android5.0推出的.下面我们来学

【Unity 3D】学习笔记二十六:unity游戏脚本(六)

在3D游戏世界中,任何一个游戏对象在创建的时候都会附带Transform(变换)组件,并且该组件是无法删除的,也不应该删除.在unity中,Transform面板一共有3个属性: Position  (位置) Rotation(旋转) Scale(缩放) 这三个值都是用来调整游戏对象在游戏界面中的位置,状态等相关参数. Position  (位置) 任何一个游戏对象的三维坐标都保存在Vector3容器中,该容器记录对象在X轴,Y轴,Z轴的坐标.一旦Vector33容器中的坐标发生变化,那么Sce

angular学习笔记(二十六)-$http(4)-设置请求超时

本篇主要讲解$http(config)的config中的timeout项: $http({ timeout: number }) 数值,从发出请求开始计算,等待的毫秒数,超过这个数还没有响应,则返回错误 demo: html: <!DOCTYPE html> <html ng-app = 'HttpGet'> <head> <title>18.4 $http(2)</title> <meta charset="utf-8"

【Unity 3D】学习笔记二十九:游戏实例——简单小地图制作

任何的学习,光看不练是学不好的.所以这次就总结回顾下怎么制作MMROPG类游戏中的小地图.在MMROPG类游戏里,主角在游戏世界里走动时,一般在屏幕右上角都会有一个区域来显示当前游戏场景的小地图.主角在游戏世界里走动,小地图里代表着主角的小标记也会随之移动.那怎么实现咧? 首先需要确定两个贴图,第一个是右上角的小地图背景贴图,应该是从Y轴俯视向下截取主角所在的位置大地图.第二个就是主角的位置大贴图.在本例中,因为没有学习unity地图制作,所以地图用一个面对象代替,主角用立方体代替,使用GUI来

Android学习笔记二十之Toast吐司、Notification通知、PopupWindow弹出窗

Android学习笔记二十之Toast吐司.Notification通知.PopupWindow弹出窗 Toast吐司 Toast吐司是我们经常用到的一个控件,Toast是AndroidOS用来显示消息的一种机制,它与Dialog不同,Toast不会获取到焦点,通常显示一段时间之后就会自动消失,下面我们来介绍Toast的几种常用方式: 第一种,默认显示方式,也是最常用的方式: Toast.makeText(MainActivity.this, "这是默认的显示方式", Toast.LE

马哥学习笔记二十五——ISCSI协议,架构及其安装配置

ISCSI监听在tcp/3260端口 iSCSI Target:iscsi-target-utils 客户端认正方式: 1.基于IP 2.基于用户,CHAP tgtadm:命令行工具,模式化命令 --mode 常用模式:target,logicalunit,account target --op new.delete.show.update.bind.unbind logicalunit --op new.delete account --op new.delete.bind.unbind --

马哥学习笔记二十六——MySQL主从复制

配置MySQL复制基本步骤: 一.master 1.启用二进制日志 log-bin = master-bin log-bin-index = master-bin.index 2.选择一个惟一server-id server-id = {0-2^32} 3.创建具有复制权限的用户 REPLICATION SLAVE REPLICATION CLIENT 二.slave 1.启用中继日志 relay-log = relay-log relay-log-index = 2.选择一个惟一的server