加入收藏 | 设为首页 | 会员中心 | 我要投稿 鲜蔬坊站长网 (https://www.xianshufang.com/)- 图像处理、AI行业应用、媒体智能、云计算、大数据!
当前位置: 首页 > 综合聚焦 > Ubuntu > 正文

ubuntu 14.04 64位 安装Opencv3.1.0 (包含opencv_contrib模块)

发布时间:2023-12-19 06:48:01 所属栏目:Ubuntu 来源:DaWei
导读:



写在前边:
据官方说法,目前还不是太稳定的算法模块都在opencv_contrib里边,由于不稳定,所以不能在release版本里发行,只有在稳定以后才会放进release里边。但是这里边有很


写在前边:

据官方说法,目前还不是太稳定的算法模块都在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

注:官方文档中虽然说其中一些依赖包是可选的,但是最好还是都装上,以防出问题。

以上依赖包可用以下命令安装:

  

2.下载源码:

a.可以从OpenCV官网直接下载:http://opencv.org/downloads.html

b.也可以从github上clone:

  

3.CMake Opencv源码:

建立一个编译目录(例如:/build)把cmake后的文件都放在这里边。

  

然后开始cmake,这里需要注意几个cmake的参数,比较重要。


注:命令中最后的" .. "(空格+两个点)千万不要忘记

其中 CMAKE_BUILD_TYPE=Release / Debug

OPENCV_EXTRA_MODULES_PATH 就是用来指定要编译的扩展模块,后边加上刚下载的opencv_contrib模块的路径即可。

这里官方文档上还给出了其他一些参数,但是我没用过,这里就不再描述了。有需要的可以查看http://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html

进入上述中新建的build文件目录中,进行如下命令

eg:

[csharp] view plain copy cmake-DCMAKE_BUILD_TYPE=Release-DOPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib/modules/-DCMAKE_INSTALL_PREFIX=/usr/local../opencv
linux文件目录结构如下

opencv

---opencv

---opencv_contrib

---build

4.把代码编译成可执行文件,这里官方推荐使用多进程编译,推荐七个进程:

  

5.安装。

  

6.运行测试。

我是用Python+opencv的,我这里直接运行opencv自带的python的例子程序

结果:

 

参考文献:

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 ,在文本中输入如下代码

copy #include<iostream> #include<opencv2/highgui/highgui.hpp> usingnamespacestd; namespacecv; intmain(intargc,char*argv[]) { conststringWINDOW_NAME="lena"; stringINPUT_PIC="lena.jpg"; MatsrcImg=imread(INPUT_PIC); if(srcImg.empty()) { cout<<"imagedonotexist"<<endl; return-1; } namedWindow(WINDOW_NAME); imshow(WINDOW_NAME,srcImg); waitKey(0); return0; }
注: 图片和.cpp 在相同的目录下 有三种常规方式进行编译,链接和执行的。 1.使用终端命令

进行编译和链接 ,在命令行中输入

copy g++test.cpp-lopencv_core-lopencv_highgui-lopencv_imgcodecs

或者

copy g++test.cpp`pkg-config--libsopencv`

然后执行 ./a.out 即可

2. 使用Makefile文件

在当前目录下建立一个Makefile 文件,然后在文件中添加如下内容:

[plain] copy #firstway main:main.o g++-omainmain.o-lopencv_core-lopencv_highgui-lopencv_imgproc-lopencv_imgcodecs main.o:main.cpp g++-cmain.cpp #secondway #CFLAGS=`pkg-config--cflagsopencv` #LIBS=`pkg-config--libsopencv` #%:%.cpp #g++-o$@$<$(CFLAGS)$(LIBS)
添加完成后,在当前目录先执行 eg: make main

执行完成后,输出main 文件,执行 ./main 即可

3. 使用Cmake 的方式

在当前目录中添加CMakeLists.txt 文件,在文件中添加如下内容:

copy cmake_minimum_required(VERSION2.8) PROJECT(name) find_package(OpenCVREQUIRED) 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 命令即可。

(编辑:鲜蔬坊站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章