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中cPickle用法例子分享

在python中,一般可以使用pickle类来进行python对象的序列化,而cPickle提供了一个更快速简单的接口,如python文档所说的:“cPickle -- A faster...

Python3实现腾讯云OCR识别

Python3实现腾讯云OCR识别

废话不多说,在网上找了下腾讯云OCR识别的,示例不多,用Python的还是Python2.7,花了点时间改成Python3的。 先上图,腾讯自己的示例图: 下面是代码: imp...

跟老齐学Python之编写类之二方法

跟老齐学Python之编写类之二方法

数据流转过程 除了在类中可以写这种函数之外,在类中还可以写别的函数,延续上一讲的例子: 复制代码 代码如下: #!/usr/bin/env python #coding:utf-8 cl...

pytorch 固定部分参数训练的方法

pytorch 固定部分参数训练的方法

需要自己过滤 optimizer.SGD(filter(lambda p: p.requires_grad, model.parameters()), lr=1e-3) 另外,如...

跟老齐学Python之集合的关系

跟老齐学Python之集合的关系

冻结的集合 前面一节讲述了集合的基本概念,注意,那里所涉及到的集合都是可原处修改的集合。还有一种集合,不能在原处修改。这种集合的创建方法是: >>> f_set =...