为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
这时候,理论上opencv已经可以使用了。但运行时,可能会报错。
ImportError: numpy.core.multiarray failed to import
Traceback (most recent call last):
File
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