1 ubuntu下编译安装opencv2详细教程以及python调用opencv方法
2017-01-18 16:02
1301 查看
一、依赖包的安装
1. build-essential 软件包,为编译程序提供必需软件包的列表信息,这样软件包才知道头文件、库函数在哪里。
sudo apt-get install build-essential
2. 下面依赖关系主要是为了能够支持读写图片以及视频等。
sudo apt-get install libgtk2.0-dev libavcodec-dev libavformat-dev libtiff4-dev libswscale-dev libjasper-dev
3. 安装cmake
sudo apt-get install cmake
4.安装pkg-config,它是一个提供从源代码中编译软件时查询已安装的库时使用的统一接口的计算机软件。
sudo apt-get install pkg-config
二、编译安装过程
至于为什么编译还是先看看这个:简谈用g++编译运行c++代码流程,以及动态库静态库的创建与使用
下载源码:
opencv 2.4.13官网
opencv 2.4.13百度云
目前还是推荐下2.4版本的吧,一直在更新,并且库比较全。
解压后进入opencv的目录。
1. 使用cmake来检测编译环境以及生成makefile以及其他project信息,在使用cmake过程可以设置一些参数。
cd opencv-2.4.9 mkdir release cd release cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
CMAKE_BUILD_TYPE=RELEASE表示release版本
CMAKE_INSTALL_PREFIX=/usr/local表示安装的目录,其中包含include等头文件
2. 使用make编译
make
3.使用make install安装
sudo make install
三、配置lib库路径以及环境变量
1 配置lib库路径
配置lib库是为了能让编译你自己写的c++代码的时候能够找到所包含的opencv模块的动态库或者静态库,其中编译生成的动态库在这个文件夹下:/usr/local/lib/
打开文件
sudo gedit /etc/ld.so.conf.d/opencv.conf
添加库目录
/usr/local/lib
保存后执行下面命令使之生效
sudo ldconfig
2 配置环境变量
完成了动态库的共享,还不能使用opencv来编程,还需要为程序指定openvc的头文件位置。这里使用pkg-config命令来完成。首先在 /etc/profile 中添加pkgconfig路径,操作如下:打开文件
sudo gedit /etc/profile
在文本最后添加
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
执行下面命令使之生效
source /etc/profile
其中pkg-config 维护着一个关于opencv的配置文件,这个文件(opencv.pc)在目录 /usr/local/lib/pkgconfig,这个文件记录着opencv的一些动态库信息,还有头文件信息,通过
pkg-config --libs opencv命令和
pkg-config --cflags opencv可以查看具体信息。
三、编译测试代码并测试
1 编译
在samples/c目录下找到
build_all.sh并运行。
./build_all.sh
2 测试
变成绿色的为可执行文件,运行下面命令可以测试,例如:./find_obj
3 用g++编译自己的代码
g++_opencv# g++ cat.cpp -I/usr/local/include/opencv -I/usr/local/include -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -o cat
其中-I表示include的目录,-L表示lib的目录,-lopencv_core指利用opencv_core.so这个动态链接库。这样就可以编译啦。
其中代码为:
#include<opencv2/core.hpp> #include<opencv2/highgui.hpp> #include<opencv2/imgproc.hpp> #include<iostream> using namespace std; using namespace cv; int main() { Mat src = imread("cat.jpg"); //Mat dst; //Canny(src, dst, 0.1, 0.1); //imshow("dst", src); //waitKey(); cout<<"read successful!"<<endl; return 0; }
效果:
root@52acd6c79e97:/home/huxiang_j/work/jni/g++_opencv# g++ cat.cpp -I/usr/local/include/opencv -I/usr/local/include -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -o cat root@52acd6c79e97:/home/huxiang_j/work/jni/g++_opencv# ls cat cat.cpp cat.jpg
也可以利用pkg-config –cflags opencv和pkg-config –libs opencv这俩个来编译,一个指向头文件,一个指向lib库文件。
root@52acd6c79e97:/home/huxiang_j/work/jni/g++_opencv# g++ `pkg-config --cflags opencv` cat.cpp -o cat `pkg-config --libs opencv` root@52acd6c79e97:/home/huxiang_j/work/jni/g++_opencv# ls cat cat.cpp cat.jpg root@52acd6c79e97:/home/huxiang_j/work/jni/g++_opencv# ./cat read successful!
四、python使用opencv
1 先用which python找到python的安装目录(每个人的不同,可以自行更改),只需要把opencv编译的cv2.so和原始的cv.py拷贝到python安装目录下的site-packages路径下面即可。
例如:cp opencv_dir/build/lib/cv2.so ENV/lib/python2.7/site-packages/ cp opencv_dir/modules/python/src2/cv.py ENV/lib/python2.7/site-packages/
有的也是复制到这,因为python安装的位置不同
/usr/local/lib/python2.7/site-packages
2 测试python例子
在opencv_dir/samples/python2可以找到python的测试用例,同理可以运行那些绿色的可执行文件,例如:
./find_obj.py
参考:
http://blog.csdn.net/surgewong/article/details/39078251
http://blog.csdn.net/honyniu/article/details/46390097
相关文章推荐
- Ubuntu下编译安装OpenCV 2.4.13以及Python调用OpenCV方法
- 【转】ubuntu下安装eclipse以及配置python编译环境
- windows下安装python basemap时使用Visual Studio编译geos时遇到的问题以及解决方法
- Ubuntu 16.04编译安装OpenCV(Python)
- Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
- Ubuntu14.04 64位+Python3.4环境下安装opencv3.0的方法
- 关于 Ubuntu 10.10系统(Linux) 安装 Qt Creator 的详细教程 Qt库的编译安装
- Ubuntu14.04 64位+Python3.4环境下安装Opencv3.0的方法
- 关于ubuntu中动态链接库路径的设置以及源码编译python可用的opencv
- opencv 入门教程, ubuntu安装,及python 下简单使用
- OpenCV+Python教程之1-Ubuntu16.04下安装OpenCV教程
- Ubuntu下OpenCV的安装和QT调用openCV库的方法
- 超详细 Ubuntu / Ubuntu Kylin 16.04 + OpenCV 2.4 + CUDA 8.0 + cuDNN 5.0 + Caffe_SSD 安装教程
- 【图像处理】Ubuntu安装OpenCV 3.0以及Python接口
- 【Linux】【Opencv】【Python】安装opencv以及无法使用cv2.imshow()解决办法(Ubuntu14.04)
- ubuntu14.04安装配置FFmpeg+opencv-3.1.0+python 调用opencv模块
- ubuntu15.10下安装opencv2.4.9&python上调用opencv库
- Ubuntu14.04 64位+Python3.4环境下安装opencv3.0的方法
- 详细贯穿Golang和Python的第一个程序,以及对应的二进制文件编译方法
- Ubuntu14.04+CUDA8.0+Anaconda2+Python2.7下编译Caffe(详细教程)