python使用pycharm环境调用opencv库

yipeiwu_com5年前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文件操作整理汇总

总是记不住API。昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧: python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。 得到当前工作目录,...

python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)

复制代码 代码如下:#-*- coding:utf-8 -*- from win32com.client import Dispatch import time def start_of...

Python中针对函数处理的特殊方法

很多语言都提供了对参数或变量进行处理的机制,作为灵活的Python,提供了一些针对函数处理的特殊方法filter(function, sequence): 对sequence中的item...

linecache模块加载和缓存文件内容详解

linecache模块 接触到linecache这个模块是因为前两天读attrs源码的时候看到内部代码引用了这个模块来模拟一个假文件,带着一脸疑问顺便读了一下这个模块的源码,发现其实也就...

浅谈Python中range和xrange的区别

range()是Python的内置函数,用于创建整数的列表,可以生成递增或者递减的数列。xrange也有相同的功能, 今天来看下它们之间的不同。 range 函数说明:...