在python3.5中使用OpenCV的实例讲解

yipeiwu_com6年前Python基础

最近在OpenCV的官方文档上看到一个人脸识别的示例代码,想要实现。由于我之前下好的OpenCV3.1中并不自带相关的函数,即opencv2/contrib/contrib.hpp这个文件找不到。需要下载一个contrib的扩展包,然后再用cmake进行编译,最终才能使用。

于是,就去官网上下了一个OpenCV2.4.13,重新配置,也是搞了好久,最后才能使代码顺利运行,虽然最后还是出了一个不知道如何解决的bug。

为什么非要在vs2015上用C++写关于OpenCV的东西呢?于是我想到python,正所谓人生苦短,我用Python。至于在python中使用OpenCV,目前我知道的途径有两个,一个是在opencv文件夹里面的python文件夹里面的某个文件(就是最底下的那个cv2.pyd文件)拷贝到python文件夹里面的某个地方(根据自己安装python的位置)。

一向喜欢方便的我,看到这个就很烦,再说,OpenCV3.1里面貌似只支持2.7的python,于是就找到了第二个方法。即用pip去安装。

于是按照网上的博客,需要在这个网站Python Extension Packages里面下相关的whl文件(顺便强势安利一下这个神奇的网站):

由于我的电脑是64位的,我之前安装过python3.5,所以我就选择了opencv_python-3.2.0+contrib-cp35-cp35m-win_amd64.whl这个文件,(因为OpenCV3.0以上的版本有些函数需要融入contrib这个扩展包才行,所以要下带有contrib的这个whl文件)。

下好后,我就开始在cmd中安装了,这样:

pip install opencv_python-3.2.0+contrib-cp35-cp35m-win_amd64.whl

但是安装不了,很是纳闷,后来又去下了个32位的opencv_python-3.2.0+contrib-cp35-cp35m-win32.whl,最后终于装好了。我猜测可能我当初下的python是32位的,并不和系统的位数相关吧~

需要注意的是,在安装这个cv2之前,要保证已经装好了numpy,由于我的python里面之前装过,所以这边就省略这个步骤了。下面就开始起飞了!在sublime里面编辑如下:

import cv2
img = cv2.imread('Building.bmp',0)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

最后终于成功显示图像了

以上这篇在python3.5中使用OpenCV的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

numpy使用技巧之数组过滤实例代码

本文研究的主要是numpy使用技巧之数组过滤的相关内容,具体如下。 当使用布尔数组b作为下标存取数组x中的元素时,将收集数组x中所有在数组b中对应下标为True的元素。使用布尔数组作为下...

python manage.py runserver流程解析

这篇文章主要介绍了python manage.py runserver流程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 版本...

单利模式及python实现方式详解

单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保 某一个类只有一个实例存在 。当希望在整个系统中,某个类只能出现一个实例时,单例对...

Python设置Socket代理及实现远程摄像头控制的例子

为python设置socket代理 首先,你得下载SocksiPy这个.解压出来之后里面会有一个socks.py文件.然后你可以把这个文件复制到python安装目录里面的Lib\site...

python进程间通信Queue工作过程详解

Process之间有时需要通信,操作系统提供了很多机制来实现进程间的通信。 1. Queue的使用 可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Que...