利用python安装opencv_linux下使用python进行opencv开发 | 学步园

首先安装opencv

我用的linux发行版是ArchLinux,所以直接sudo pacman -S opencv

里面就包含了opencv的python扩展。

用pacman -Ql opencv可以看到这么几行:

opencv /usr/lib/python2.7/

opencv /usr/lib/python2.7/site-packages/

opencv /usr/lib/python2.7/site-packages/cv.py

opencv /usr/lib/python2.7/site-packages/cv2.so

其中cv.py文件内容很简单,就一句话:

from cv2.cv import *

如果用的其他发行版,软件仓库里面没有opencv,可以直接下载其linux版本进行编译,可参见另一篇文章linux下opencv下载和编译

编译安装前,请先安装python,opencv编译过程中会检测python解释器并安装相应扩展。

我使用的ide是eclipse+pydev

一个简单的载入图片并显示的小程序:

import cv2 #引入包,如果使用旧版本,需要用import cv2.cv或者import cv

winName = 'display image' #窗口名称

imagePath = './meinv2.jpg' #图片文件路径

cv2.namedWindow(winName, cv2.CV_WINDOW_AUTOSIZE) #创建显示窗口

image=cv2.imread(imagePath, cv2.CV_LOAD_IMAGE_COLOR) #读取图片

cv2.imshow(winName, image) #显示图片

cv2.waitKey(0) #等待,按Esc键退出窗口

cv2.destroyWindow(winName) #销毁窗口

有两个问题,需要注意下:

我发现import cv2的时候,pydev可以自动补全,比如输入cv2.再按Alt+/,可以显示出所有符号和函数供补全。

但是import cv却没法自动补全,但如果代码正确,仍能够编译通过,只不过eclipse里面会显示很多错误警告。应该是上面提到的cv.py中的

import cv2.cv import *这种写法的问题,写成import cv2.cv或者from cv2 import cv都没有问题。

cv2中与cv中具有相同功能的函数的名称都是不同的,与c和c++中也是有区别的,比如简单的cv2.imread函数,即读取图片的函数,在cv中是cv.LoadImage。具体区别如下:

imread

Loads an image from a file.

C++: Mat imread(const string& filename, int flags=1 )

Python: cv2.imread(filename[, flags ]) -> retval

C: IplImage* cvLoadImage(const char* filename, int iscolor=CV_LOAD_IMAGE_COLOR )

C: CvMat* cvLoadImageM(const char* filename, int iscolor=CV_LOAD_IMAGE_COLOR )

Python: cv.LoadImage(filename, iscolor=CV_LOAD_IMAGE_COLOR) -> None

Python: cv.LoadImageM(filename, iscolor=CV_LOAD_IMAGE_COLOR) -> None

其他的可以参考官方的opencv2refman.pdf这个参考手册,上面就是摘取这里面的,我的资源里面可以下载,链接:opencv2refman.pdf

一个简单的开始。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值