ubuntu 14.04 64位 安装Opencv3.1.0 (包含opencv_contrib模块)
来源:互联网 发布:最小树形图 朱刘算法 编辑:程序博客网 时间:2024/06/08 14:01
ubuntu 14.04 64位 安装Opencv3.1.0 (包含opencv_contrib模块)
写在前边:
据官方说法,目前还不是太稳定的算法模块都在opencv_contrib里边,由于不稳定,所以不能在release版本里发行,只有在稳定以后才会放进release里边。但是这里边有很多我们经常要用的算法,比如SIFT,SURF等(在xfeatures2d 模块里边)。官网提供了说明,可以把opencv_contrib扩展模块添加编译到已安装的opencv3.0.0里边,也可以安装的时候直接把扩展模块编译进去一并安装。
1.依赖关系:
- GCC 4.4.x or later
- CMake 2.8.7 or higher
- Git
- GTK+2.x or higher, including headers (libgtk2.0-dev)
- pkg-config
- Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
- ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
- [optional] libtbb2 libtbb-dev
- [optional] libdc1394 2.x
- [optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
注:官方文档中虽然说其中一些依赖包是可选的,但是最好还是都装上,以防出问题。
以上依赖包可用以下命令安装:
sudo
apt-get
install
build-essential
sudo
apt-get
install
cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo
apt-get
install
python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
2.下载源码:
a.可以从opencv官网直接下载:http://opencv.org/downloads.html
b.也可以从github上clone:
cd
~/<my_working_directory>
//
比如工作目录为opencv即,
cd
~
/opencv
git clone https:
//github
.com
/Itseez/opencv
.git
git clone https:
//github
.com
/Itseez/opencv_contrib
.git
3.CMake Opencv源码:
建立一个编译目录(例如:/build)把cmake后的文件都放在这里边。
cd
~
/opencv
mkdir
build
//
建立一个build目录,把cmake的文件都放着里边
cd
build
//
进入build目录
然后开始cmake,这里需要注意几个cmake的参数,比较重要。
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=
/usr/local
-D OPENCV_EXTRA_MODULES_PATH=<path to opencv_contrib
/modules/
> ..
注:命令中最后的" .. "(空格+两个点)千万不要忘记
其中 CMAKE_BUILD_TYPE=Release / Debug
OPENCV_EXTRA_MODULES_PATH 就是用来指定要编译的扩展模块,后边加上刚下载的opencv_contrib模块的路径即可。
这里官方文档上还给出了其他一些参数,但是我没用过,这里就不再描述了。有需要的可以查看http://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html
进入上述中新建的build文件目录中,进行如下命令
eg:
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib/modules/ -D CMAKE_INSTALL_PREFIX=/usr/local ../opencv
linux文件目录结构如下
opencv
---opencv
---opencv_contrib
---build
4.把代码编译成可执行文件,这里官方推荐使用多进程编译,推荐七个进程:
make
-j7
# 并行运行七个jobs,这一步也在build目录中进行
5.安装。
sudo
make
install
6.运行测试。
我是用python+opencv的,我这里直接运行opencv自带的python的例子程序
cd
<opencv3.1.0_dir>
/samples/python/
python asift.py
结果:
参考文献:
http://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html
https://github.com/Itseez/opencv_contrib/blob/master/README.md
转载:http://www.cnblogs.com/asmer-stone/p/5089764.html
在使用c++语言进行运行
当运行出现如下错误时
./a.out: error while loading shared libraries: libopencv_core.so.3.1: cannot open shared object file: No such file or directory
首先进行配置:
进入终端,输入 sudo vi /etc/ld.so.conf.d/opencv.conf
然后在文件中插入以下文字
/usr/local/opencv/
输入:wq 退出
在终端中输入 sudo ldconfig 即可
http://stackoverflow.com/questions/19164343/opencv-libopencv-core-so-2-4-cannot-open-shared-object-file-no-such-file-or
然后新建文件 vi test.cpp ,在文本中输入如下代码
#include <iostream>#include <opencv2/highgui/highgui.hpp>using namespace std;using namespace cv;int main(int argc,char* argv[]){const string WINDOW_NAME = "lena";const string INPUT_PIC = "lena.jpg";Mat srcImg = imread(INPUT_PIC);if(srcImg.empty()){cout << "image do not exist" <<endl;return -1;}namedWindow(WINDOW_NAME);imshow(WINDOW_NAME,srcImg);waitKey(0);return 0;}
注: 图片和.cpp 在相同的目录下
进行编译和链接 ,在命令行中输入
g++ test.cpp -lopencv_core -lopencv_highgui -lopencv_imgcodecs
或者
g++ test.cpp `pkg-config --libs opencv`
然后执行 ./a.out 即可
2. 使用Makefile文件
在当前目录下建立一个Makefile 文件,然后在文件中添加如下内容:
#first waymain:main.og++ -o main main.o -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecsmain.o:main.cppg++ -c main.cpp# second way#CFLAGS = `pkg-config --cflags opencv`#LIBS = `pkg-config --libs opencv`#% : %.cpp#g++ -o $@ $< $(CFLAGS) $(LIBS)
添加完成后,在当前目录先执行 eg: make main
执行完成后,输出main 文件,执行 ./main 即可
3. 使用Cmake 的方式
在当前目录中添加CMakeLists.txt 文件,在文件中添加如下内容:
cmake_minimum_required(VERSION 2.8) PROJECT (name)find_package(OpenCV REQUIRED )set( NAME_SRC ./main.cpp )#set( NAME_HEADERS # include/header.h#)INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/include )link_directories( ${CMAKE_BINARY_DIR}/bin)set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)#add_executable( name ${NAME_SRC} ${NAME_HEADERS} )add_executable( name ${NAME_SRC} )target_link_libraries( name ${OpenCV_LIBS} )
添加完成后,在当前目录中新建一个build目录,mkdir build,
然后切换到build目录中,使用 cd build
在build文件夹目录中 执行cmake 命令,使用示例如下:
cmake .. // .. 代表上一级目录 ,
make
执行完成后,会有bin 目录生成,进入bin目录,cd bin
发现有 name 文件
执行 ./name 命令即可。
- ubuntu 14.04 64位 安装Opencv3.1.0 (包含opencv_contrib模块)
- ubuntu 14.04 64位 安装Opencv3.1.0 (包含opencv_contrib模块)
- ubuntu 14.04 64位 安装Opencv3.1.0 (包含opencv_contrib模块)
- Opencv3.1使用教程(一)ubuntu 14.04 安装Opencv3.1.0 (包含opencv_contrib模块)
- Ubuntu 16.04 安装Opencv3.1.0 (选装opencv_contrib模块)
- Mac下安装OpenCV3.0—包含opencv_contrib模块
- 添加OpenCV_contrib库至OpenCV3.1.0中(Windows 64位 环境下编译OpenCV3.1.0和OpenCV_contrib)
- 【opencv3.3】VS2015+opencv3.3 GPU模块编译(包含opencv_contrib模块)
- Windwos 64位系统添加opencv_contrib库至OpenCV3.1.0
- windows Opencv3.1.0添加opencv_contrib模块解决方案
- opencv3.x+opencv_contrib安装
- opencv3.2安装opencv_contrib
- opencv3.0+opencv_contrib安装
- OpenCV3及opencv_contrib安装
- opencv3.3 opencv_contrib安装
- 如何在opencv3.1中安装扩展模块opencv_contrib
- ubuntu下安装opencv(包括opencv_contrib模块)
- Ubuntu下opencv3.3和opencv_contrib的编译安装
- js 判断浏览器
- JTree
- dom parse xml
- C++标准模板库(STL)使用 02
- 机器学习(2)数学知识积累
- ubuntu 14.04 64位 安装Opencv3.1.0 (包含opencv_contrib模块)
- windows下在内存中运行程序
- 华为 OJ 坐标的移动
- 音痴又音痴的LT
- java文件夹压缩和解压
- 搞ACM你伤不起
- Android实现沉浸式状态栏(透明状态栏)(QQ和简书样式)
- LeapMotion应用到Android Moblie移动设备上的分享
- 音痴又音痴的LT