python使用pycharm环境调用opencv库

yipeiwu_com7年前Python基础

我这只学术的小小只白,竟然也开始写博客了。因为配置opencv的库用了很长的时间,三天,遇到很多问题,一个个解决后,才决定分享出来,想要用pythont调用opencv库的少走些弯路。写这篇文章另一方面是收到浅墨——毛星云的博客的影响,浅墨博主,真的是无私的分享了自己的代码,我是一个很懒得人,深受影响,做个不懒惰的人。

首先安装python,有2.X和3.X,两个版本有很大的不同。我用的是2.7,2.系列支持opencv的很多库。

Python下载链接:

https://www.python.org/downloads/windows/

pycharm下载链接

(http://www.jetbrains.com/pycharm),创建工程,选择编辑器.。也可以在刚打开pycharm的时候创建工程的时候选择好编辑器。

在pycharm中,file_new project。

然后在project中,中,new——pychonfile。在file_setting中,设置解释器,选择呢anaconda。

社区版和专业版随意,专业版收费,我从网上找到了用户名及秘钥。所以即使想用专业版,也可以不用花钱买。

Pycharm是编辑器,用python的语法编译程序,需要一个环境,这个环境是有种选择的,IDLE、Aptana、Notepad++、PyCharm、SPE等等诸如此类的。我们用python写完程序后,编译运行结果,需要解器,解释器有很多种,我用Anaconda。这个解释器激活了多种数据包,不需要再下载其他numpy诸如此类等。可以说这个解释器是一劳多益。

https://www.continuum.io/downloads下载链接。


安装过程一直next就行了。

在配置过程中,一直困扰我的是,被为忽略的是,版本问题,电脑是64位的,同时兼容32位的,我开始下载的是32位的,运行报错,我一直找不到问题,在换成64位以后,问题迎刃而解。所有用多少位的,有报错的,不妨配置与自己系统位数一样的版本试试。

调用opencv库的问题。

首先找到你的opencv路径下的cv2.pyd,路径信息如下图所示。

D:\Program Files\opencv\build\python\2.7\x64

将cv2.pyd复制到!!!!!此时加惊叹号,是因为网上的配置有如下路径

C:\Python27\Lib\site-packages


我放到了另外一个路径下

C:\Anaconda2\Lib\site-packages

两个路径都可以运行,所以两个路径都放了,程序依然可以运行。

附上运行程序如下:程序是在网上找的

程序读取图片以及特征点检测,由于图太大了,截取部分如下:

import cv2 
import numpy as np
#import pdb 
#pdb.set_trace()#turn on the pdb prompt 
 
#read image 
img = cv2.imread("E:/2.jpg",cv2.IMREAD_COLOR)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 
cv2.imshow('origin',img); 
 
#SIFT 
detector = cv2.SIFT() 
keypoints = detector.detect(gray,None) 
img = cv2.drawKeypoints(gray,keypoints) 
#img =cv2.drawKeypoints(gray,keypoints,flags = cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS) 
cv2.imshow('test',img); 
cv2.waitKey(0) 
cv2.destroyAllWindows() 


在python中调用opencv库,我遇到了很多问题,多搜索,多查资料,一定可以解决问题。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现发送邮件功能

python实现发送邮件功能

本文实例为大家分享了python实现发送邮件功能的具体代码,供大家参考,具体内容如下 依赖: Python代码实现发送邮件,使用的模块是smtplib、MIMEText,实现代码之前需要...

python从list列表中选出一个数和其对应的坐标方法

python从list列表中选出一个数和其对应的坐标方法

例1:给一个列表如下,里面每个元素对应的是x和y的值 a = [[5,2],[6,3],[8,8],[1,3]] 现在要挑出y的值为3对应的x的值,即6和1 import nu...

python fuzzywuzzy模块模糊字符串匹配详细用法

github主页 导入: >>> from fuzzywuzzy import fuzz >>> from fuzzywuzzy import p...

Python re 模块findall() 函数返回值展现方式解析

findall 函数: 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。 注意: match 和 search 是匹配一次 findall...

详解Python里使用正则表达式的ASCII模式

ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码。计算机世界里一开始只有英文,而单字节可...