Ubuntu中Opencv的安装使用教程

 更新时间:2017年04月29日 16:31:02   作者:Myths  
Opencv就不解释了,是个很有名的图形库。下面这篇文章主要介绍了Ubuntu中Opencv安装使用的相关资料,文中介绍的非常详细,需要的朋友们下面来一起看看吧。

前言

OpenCV为基于BSD许可(开源)发行的跨平台计算机视觉库,可运行在Linux、Windows和Mac OS上。它轻量级而且高效,提供了Python、Ruby、MATLAB等语言接口,实现了图像处理和计算机视觉方面的很多通用算法。

OpenCV不仅在进行软件开发的过程中需要用到,而且他也是很多开源软件的运行依赖,所以安装一个Opencv就很有必要了,即使自己本身并不想学习使用。

安装

以下主要是从百度上找到的可用方法:

安装运行依赖

$ sudo apt-get install libqt4-dev libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config\
python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev \
libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev\
libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev \
libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip

下载源代码

官网 下载适合的版本就好,我这下的是3.1.0。

下载完成解压就好。

编译

编译还是有点麻烦的,现在都是用cmake结合make来编译,头一次用这个有点头大。

1、在文件目录下新建一个叫build/的文件夹,这个文件夹的目的主要是用来存放编译生成的临时文件。当然起别的名字也可以。

2、进入build/文件夹,输入以下命令

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON  -D WITH_XINE=ON  -D WITH_OPENGL=ON  -D WITH_TBB=ON  -D BUILD_EXAMPLES=ON  -D BUILD_NEW_PYTHON_SUPPORT=ON  -D WITH_V4L=ON ..

其实就是cmake命令后加些配置参数,最后是CMakeLists.txt配置文件的位置,这个位置当然就是../

3、编译安装,输入make -j $(nproc) (这是多进程make的命令,\$(nproc)就是进程数,当然也可以直接指定),这会花很长时间,最后再$ sudo make install ,对文件进行安装。

4、最后还要配置一些路径,输入以下命令

/bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'

然后再ldconfig即可。(注意给权限)

5、最后可以用如下命令来判断是否安装成功

pkg-config --modversion opencv
pkg-config --cflags opencv

测试

OpenCV在codeblock下可以通过加链接库的形式编译运行。但是如果在命令行下,就得手写cmake了。

为了方便测试,我们新建一个test文件夹,在这下面写一个测试程序。

首先新建如下文件,保存为test.cpp

#include<opencv2/highgui.hpp>
#include<opencv2/imgproc.hpp>
using namespace cv;
int main(int argc ,char** argv){
 if(argc!=2){
 printf("No image data\n");
 return -1;
 }
 char *imageName=argv[1];
 Mat image;
 image=imread(imageName,1);
 if(!image.data){
 printf("No iamge data\n");
 return -1;
 }
 namedWindow(imageName,CV_WINDOW_AUTOSIZE);
 imshow(imageName,image);
 waitKey(0);
 return 0;
}

然后随便把一个测试用图片复制到test文件夹下,我用的是他自带的最经典的lena.jpg。

接着编写cmake配置文件,将下面的文件保存为CMakeLists.txt

project(test)
add_executable(test test.cpp)
find_package(OpenCV REQUIRED)
target_link_libraries(test ${OpenCV_LIBS})

里面用到的各种文件的意义也很清楚了,以后照着改就行。

最后在test下新建build文件夹,进入后输入cmake ../ 即可完成cmake编译,然后再输入make即可生成可执行文件。

找到test文件,然而在命令行下输入./test ../lena.jpg 即可运行程序。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • 如何监控 Linux 服务器状态的方法

    如何监控 Linux 服务器状态的方法

    这篇文章主要介绍了如何监控 Linux 服务器状态的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • CentOS查询软件包的安装位置

    CentOS查询软件包的安装位置

    这篇文章主要介绍了在CentOS中使用yum -ql <软件包名>的方式查询软件包的安装位置,有需要的朋友可以参考下
    2014-09-09
  • Linux系统使用Fuser命令的方法

    Linux系统使用Fuser命令的方法

    fuser命令是一个非常聪明的unix实用程序,用于查找正在使用某个文件、目录或socket的进程。这篇文章主要介绍了Linux系统使用Fuser命令的方法,需要的朋友可以参考下
    2020-06-06
  • Apache 2配置域名绑定的方法详解

    Apache 2配置域名绑定的方法详解

    这篇文章主要给大家介绍了Apache 2配置域名绑定的方法,文中介绍的很详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • Linux多线程锁属性设置方法

    Linux多线程锁属性设置方法

    下面小编就为大家带来一篇Linux多线程锁属性设置方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • linux下用time(NULL)函数和localtime()获取当前时间的方法

    linux下用time(NULL)函数和localtime()获取当前时间的方法

    这篇文章主要介绍了linux下用time(NULL)函数和localtime()获取当前时间的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 在Ubunt16.04上安装LAMP的方法

    在Ubunt16.04上安装LAMP的方法

    这篇文章主要介绍了在Ubunt16.04上安装LAMP的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Shell中如何删除文本比较长的行的实现方法

    Shell中如何删除文本比较长的行的实现方法

    这篇文章主要介绍了 Shell中如何删除文本比较长的行的实现方法的相关资料,希望通过本文能帮助到大家,让大家掌握这部分内容,需要的朋友可以参考下
    2017-10-10
  • Linux的wget命令详解

    Linux的wget命令详解

    这篇文章主要为大家详细介绍了Linux的wget命令,教大家如何使用wget,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • linux下的yum命令原理和详解

    linux下的yum命令原理和详解

    本文主要介绍linux下的yum命令原理和详解,讲解的比较全面,需要的朋友可以参考一下。
    2016-06-06

最新评论