python使用pycharm环境调用opencv库

yipeiwu_com6年前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中直接通过等号赋值实际上只是引用地址的传递 如: a = [1,2,3,4,5]...

Python 分发包中添加额外文件的方法

在制作一个 Python 分发包时经常需要把一些文件添加到包中。最常见的例子是你希望通过  pip install 命令安装 Python 包时会在  /etc/ 等...

Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题

Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。Python 3不会以任意隐式的...

让python的Cookie.py模块支持冒号做key的方法

为了做好兼容性,只能选择兼容:冒号。 很简单,修改一下Cookie.Morsel 复制代码 代码如下: #!/usr/bin/python # -*- coding: utf-8 -*-...

Python实现的下载网页源码功能示例

Python实现的下载网页源码功能示例

本文实例讲述了Python实现的下载网页源码功能。分享给大家供大家参考,具体如下: #!/usr/bin/python import httplib httpconn = httpl...