为 Python添加opencv支持

为Python添加opencv支持 #

Date: 2015/6/12

学习方向突然由机器学习转向了与图象处理结合了。因此尝试搭建一下图象处理环境。以人脸识别为主要研究方向,试着做一些实验。(某人告诉我,人脸识别已经做到准确率到98%以上了。。。)

要对图象做一些处理,查了一下,需要用到opencv,网上一直都说使用CVtypes就可以轻松解决,也有说Python现在已经自带CVtypes了。但是

from CVtypes import *

from CVtypes import *还是用不了。最终找到了一个解决方案。more

其实挺简单的,为Python添加一个扩展而已。但现在好像已经不需要CVtypes了。opencv自带Python支持。步骤三步:

  • 下载Python2.7并安装。(opencv提供的支持是针对2.7的,不少人说,3.4下的库太少了,并不好用)

下载Python2.7并安装。(opencv提供的支持是针对2.7的,不少人说,3.4下的库太少了,并不好用)- 下载opencv并自解压。解压后,会看到两个路径,一个是编译后版本,一个是源码。可能目录结构不同,但根据名字总能找到需要的东西。如我这个版本的文件是在/opencv/build/python/2.7/x86,一个编译后的cv2.pyd文件。将cv2.pyd拷贝到python目录下的Lib/site-packages下,该目录是手动添加Python包所用的路径。

下载opencv并自解压。解压后,会看到两个路径,一个是编译后版本,一个是源码。可能目录结构不同,但根据名字总能找到需要的东西。如我这个版本的文件是在

/opencv/build/python/2.7/x86

/opencv/build/python/2.7/x86,一个编译后的cv2.pyd文件。
将cv2.pyd拷贝到python目录下的

Lib/site-packages

Lib/site-packages下,该目录是手动添加Python包所用的路径。- 这时候,理论上opencv已经可以使用了。但运行时,可能会报错。ImportError: numpy.core.multiarray failed to importTraceback (most recent call last):File, line 1, in ImportError: numpy.core.multiarray failed to import

这时候,理论上opencv已经可以使用了。但运行时,可能会报错。

ImportError: numpy.core.multiarray failed to import
Traceback (most recent call last):
File, line 1, in
ImportError: numpy.core.multiarray failed to import

意思是:需要装一个numpy。此时,要清楚自己的python版本,然后上 numpy的sourceforge主页numpy的sourceforge主页找一个对应的下载下来就是了。当然,opencv的版本也决定了需要使用的numpy版本,如果版本不符,照提示换一个就O啦。

opencv/sources/samples

opencv/sources/samples下有不少的测试文件。当环境配置完成后,执行

opencv/sources/samples/python/drawing.py

opencv/sources/samples/python/drawing.py,就可以看到漂亮的效果了。

到最后才发现,官网写得还是比较清晰的,只是开始没找着页面。官网是: http://docs.opencv.org/trunk/doc/pytutorials/pytutorials.html http://docs.opencv.org/trunk/doc/pytutorials/pytutorials.html