在python3.5中使用OpenCV的实例讲解
最近在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()
最后终于成功显示图像了