OpenCV编译Python调用的库
来源:互联网 发布:易语言炫舞辅助源码 编辑:程序博客网 时间:2024/06/05 06:26
我用的环境是Ubuntu 14.04
1. 下载OpenCV的源代码
git clone https://github.com/opencv/opencv.git
2. 进行编译配置,与opencv目录并行创建一个opencv_build的目录,用来进行配置编译,执行ls命令可见:
opencv opencv_build
3. cd到opencv_build目录,然后执行 cmake ../opencv ,此时会生成编译的配置文件;
4. 在opencv_build目录中 make,编译生成可执行文件和共享库;
5. 在opencv_build目录中 sudo make install,会将生成的头文件和共享库进行安装;
这些步骤看起来很简单,但是Python程序调用OpenCV库需要的Bindings文件并未生成,例如cv2.so,在网络上搜索了很久,查找如何配置OpenCV,生成Python需要的Bindings,
但是木有找到任何有用的信息,最后在 opencv/doc/tutorials/introduction 目录下找到 linux_install/linux_install.markdown
在 linux_install.markdown 这个文件中,有关于Python Bindings的说明:
-# [optional] Building python. Set the following python parameters:
- PYTHON2(3)_EXECUTABLE = \<path to python\>
- PYTHON_INCLUDE_DIR = /usr/include/python\<version\>
- PYTHON_INCLUDE_DIR2 = /usr/include/x86_64-linux-gnu/python\<version\>
- PYTHON_LIBRARY = /usr/lib/x86_64-linux-gnu/libpython\<version\>.so
- PYTHON2(3)_NUMPY_INCLUDE_DIRS =
/usr/lib/python\<version\>/dist-packages/numpy/core/include/
除了Python,还有关于Java的,但是,这个文件中的操作,有一个前提:
The packages can be installed using a terminal and the following commands or by using Synaptic Manager:
[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
注意:软件包的版本号不一定对应,不同的Ubuntu版本,要求不同的软件包版本号。
这样配置之后,make命令执行完,就能够在lib目录中看到cv2.so这样的文件:
opencv_build/lib$ file cv2.so
cv2.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=85aeef5cfec36ed091bbc84114f380fac65794e4, not stripped
cv2.so 是Linux中的共享库,那么Python是如何调用Linux中的共享库的呢?
Extending and Embedding the Python Interpreter
Python 2.7
https://docs.python.org/2.7/extending/index.html
Python 3.6
https://docs.python.org/3.6/extending/index.html
- OpenCV编译Python调用的库
- Python调用OpenCV的接口
- eclipse 下配置 python 编译环境 调用 opencv 动态库编程
- Linux下编译安装OpenCV(基于C++,生成so库供python调用)
- 编译OpenCV for Python的所需类库
- Python opencv 调用sift
- opencv-python调用摄像头
- python调用c++代码,.so库的编译
- python脚本调用c/c++库,以opencv的python接口为例
- python如何调用编译后的可执行文件
- 编译opencv库的注意事项
- gcc编译调用opencv库函数遇到的问题总结
- QT调用OpenCV编译产生的“ACCESS_MASK”问题
- 关于ubuntu中动态链接库路径的设置以及源码编译python可用的opencv
- Opencv在安卓平台上编译----调用C++库
- OpenCV在Python上的调用( import cv2的解决办法)
- 1 ubuntu下编译安装opencv2详细教程以及python调用opencv方法
- 编译OpenCV python 版本中遇到的问题
- 标识符.关键字
- POJ 3692 Kindergarten (补图的最大独立集||匈牙利算法)
- java8_LocalDate类实现日历打印
- QT之LineEdit
- 51Nod-1134-最长递增子序列
- OpenCV编译Python调用的库
- 前言的闲话以及第一章的入门(六)
- 算法题/顺时针打印矩阵
- 【C++】【学习笔记】【未成功实现】关于指针的函数【very difficult】
- 【Data_Structure笔记12】查找算法之【基于二叉排序树的查找】
- 用python爬github上星级排名前列的项目报错AttributeError: 'NoneType' object has no attribute 'decode'
- Reference to uninitialized collection 问题解决
- PSPNet
- Go环境搭建:windows+sublime3