写在前面:前段时间,由于在python中调用opencv库显示图片未遂,变尝试在在Eclipse下利用python+opencv显示图片,以下是我的艰难之旅,虽然花费了好久才成功显示,但是还是很值得的,多谢几个博主网站提供的有效资源和Pythoner.CN群的交流已经小伙伴们积极热情的帮助,尤其是python爱好者ashfinal的热心解答(调试了一晚上,最后到凌晨,不甚感激!小女子在此谢过)。
一、Windows7在Eclipse中配置Python+OpenCV
参考http://blog.csdn.net/fengbingchun/article/details/8187446#reply
1 Eclipsesh是什么?
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
2 Eclipse安装准备——win7系统下的jdk的安装和配置
2.1下载jdk
地址:http://java.sun.com/javase/downloads/index.jsp
作为开发者,下载JDK,点击,选择windows平台,点击下载,需要登录一下,就可以下载了。(没有用户名的,注册下就行,免费的,而且以后经常用得到)。
2.2安装JDK
安装很简单了,和安装其他软件没啥区别,路径如果不需要自己特殊设置的话,就可以一路默认。需要知道安装的路径,配置的时候是需要用到的,安装后
安装路径可自定义,这是我的安装路径D:\Program Files\Java\jdk1.8.0_05
2.3环境变量的设置
win7界面相比xp做了一点小的修改,不过不影响操作
这里需要设置JAVA_HOME、CLASSPATH、Path三个环境变量。
a)右击“计算机”,点击“属性”
点击弹出界面的左部分的“高级系统设置”,选择“高级”选项卡,点击下部的“环境变量”
在“系统变量”中,设置3属性JAVA_HOME、CLASSPATH、Path(不区分大小写),若已存在则点击“编辑”,不存在则点击“新建”;
b)JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径E:/Java/jdk1.6.0_20,此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat,eclipse等都需要依*此变量);
c)Path 使得系统可以在任何路径下识别 java 命令,这里,要注意下, path 应该是本来就存在的,就不要新建了,找到 path ,点击 “ 编辑 ” ;在值的最前面加上下面的语句即可。如果覆盖了 path 变量,将导致的 cmd 下有些基本的命令会找不到。 %JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;
d)CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别,设为: .;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar(要加.表示当前路径)
%JAVA_HOME%就是引用前面指定的JAVA_HOME;
4、检验安装配置是否正确
点击“开始”,键入“cmd”;
enter
运行“java-version”、“java”、“javac”三个命令,看输出是否类似上图。。出现画面,安装配置ok了。
3 Eclipse安装与配置
1. 从http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html下载jdk-7u2-windows-i586.exe,安装到D:\ProgramFiles\Java,并将D:\ProgramFiles\Java\jdk1.7.0_02\bin添加到环境变量中;
2. 从http://www.eclipse.org/downloads/下载EclipseClassic版本并解压缩;
3. 从http://www.python.org/下载python-2.7.3.msi安装到D:\Python27目录下,并将D:\Python27添加到环境变量Path中;
4. 打开Eclipse,HelpàInstall NewSoftware…,点击Add…,在name中输入PyDev,在Location中输入:http://pydev.org/updates,点击OK,等待下载,选择PyDev forEclipseàNext,(不知为何会等很长时间,取消此步,改用第二种方法);
5. 从https://sourceforge.net/projects/pydev/files/下载PyDev2.7.1,解压缩,生成features和plugins两个文件夹;
6. 将PyDev2.7.1/features和PyDev2.7.1/plugins两个文件夹拷贝到eclipse/dropins文件夹下,重启Eclipse;
7. 将PyDev2.7.1/features里的内容拷贝到eclipse/features文件夹下,将PyDev2.7.1/plugins里的内容拷贝到eclipse/plugins文件夹下;
8. 重启Eclipse,Window-->Preferences-->PyDev-->Editor-->Interpreter– Python:点击New…,Interpreter Name:Python2.7.1,InterpreterExecutable: D:\Python27\python.exe,点击OK,弹出Selection needed对话框-->SelectAll,点击OK,点击OK;
9. 测试是否搭建正确:File-->New-->Project…-->选择PyDev下的PyDevProject-->Next,Project name:TestPython, Project type:Python,GrammarVersion:2.7, Interpreter:Python2.7.1,选中Create ‘src’ folder and add it tothePYTHONPATH,点击Finish;
10.选中TestPython,右键单击-->New-->Other…-->选中Pydev下的PyDev&Module-->Next-->Name:Test-->Finish;输入一条语句: print “hello world!” ,点击Run-->RunAs-->Python Run,正确运行,配置成功;
11.下载安装OpenCV2.3.1:http://blog.csdn.net/fengbingchun/article/details/7288079;
12.从https://sourceforge.net/projects/numpy/下载numpy-1.6.2-win32-superpack-python2.7安装;
13.将OpenCV2.3.1文件夹下build-->python-->2.7文件夹下的所有文件复制到D:\Python27\Lib\site-packages中,双击D:\soft\OpenCV2.3.1\opencv\samples\python文件夹下的drawing.py文件,如果能够正确运行,说明配置正确;
14.最终测试:在Test.py文件中输入以下语句,运行。
测试正确!
如要显示图片,调用opencv库,需要配置。具体如下。
4 eclipse下配置python编译环境调用opencv动态库编程
4.1安装python
由于本人学习python是想研究opencv开发,而opencv还没有支持3.x以上的版本,而且每个python版本都必须和相应的opencv库相搭配。
4.2 Win64+OpenCV2.3.1+Python2.7.5配置
假设OpenCV2.3.1是安装好的。
1.下载Python:http://www.python.org/download/,虽然是64为Windows依然选择'Python 2.7.5 Windows Installer';
2.安装Python,一路Next到底;
3.下载NumPy:http://sourceforge.net/projects/numpy/files/NumPy/1.6.1/numpy-1.6.1-win32-superpack-python2.7.exe/download,NumPy的版本要和Python版本相同;
4.安装NumPy,一路Next到底;
5.将OpenCV2.3.1文件夹\opencv\build\python\2.7下的文件Ctrl+C到Python2.7安装目录的Python27\Lib\site-packages下面。
6.配置。如果要测试是否运行,可以到OpenCV文件夹\opencv\samples\python下双击运行drawing.py,如果出现以下绘制窗口,那么就真的Ok了。
参考: http://blog.csdn.net/nwpulei/article/details/7277511
另有博文 python2.7 &opencv 2.2 绿化 个人觉得挺有用的,但是没有作对应的尝试。
链接如下:
Python 2.7 & opencv 2.2 绿色化
做AIR的项目要使用NativeProcess调用python和opencv,在最后发布是绿色化还是费了一番周折的。
1.绿色化python2.7
1)复制出python的安装路径里面的所有文件至文件夹A。
2)从windows\system32下复制python27.dll至A
这样A文件夹下就是绿色化的python了
双击python.exe就可以运行
2.绿色化opencv2.2
1) 把opencv目录下的Python2.7文件夹里面的Lib文件夹复制到文件夹A,就是像python中安装opencv
2.)吧opencv目录下的bin文件夹里面所有的.dll文件和.exe文件复制到文件夹A
这样A文件夹内就是绿色过的python2.7+opencv2.2
测试是import cv
如果不报错,说明绿色化成功。4.3 eclipse下配置python编译环境调用opencv动态库编程
4.3.1属性进行配置
首先一定要确保你在eclipse下安装的是32的python,如果不是会出现不是有效地win32程序的错误,你可以下载32的安装后右击工程的名-》属性进行配置。
选择python2.7-32位的版本作为解析器。
4.3.2 要将你安装的Opencv的动态库下的build->pyhton->2.7的目录添加到PYTHONPATH中,这样你的程序才能找到相应的动态库。
当你正确添加后,工程下的ExternalLibs及扩展库就会出现opencv 提供给Python接口的动态库了
4.3.3 读一张图片:
出现了错误:
SyntaxError: Non-ASCII character '\xd1' in file F:\研究生工作\工作缓存\Python学习\eclipse-workplace\TestPython\src\imread1.py on line 9, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
4.3.4 错误解释
参考:http://leweibo.blog.163.com/blog/static/179800089201232194759546/
错误类型:but no encoding declared
解决方案:每个代码文件开头加上 # -*- coding: UTF-8 -*- 或者:# coding=UTF-8
PS:如果你想偷懒不想每新建一个文件都加入上面那行的话
1 可以在Window ->Preferences ->Pydev->Editor->Templates
选中右边的<Empty>,点Edit,然后增加上面的那行东东,那样新建的时候就会自动加入了(也可以新建一个,但新建Module时得选你新建的那个而不是默认的Empty)再编译;终于没有那错误提示了,可是中文不能正常输出
2 再来改一下Eclipse
Window ->Preferences -> General -> Workspace,找到"Text file encoding",选择Other,选"UTF-8",OK,再来编译,一切正常,完。
附:字体太小的解决方案
打开 eclipse 的 “preferences” , “General” -> “Appearance”-> “Colors and Fonts” ,打开“basic” ,双击 “Text Font” ,然后选择字体:”YaHei Consolas Hybrid” ,确定即可。
4.4.5 成功读入一张图片
至此,成功读入一张图片,好happy!
欢迎交流学习,请关注:http://blog.csdn.net/tiandijun