专栏首页FPGA开源工作室Ubuntu16.04 配置OpenCV3.4.2及基本使用

Ubuntu16.04 配置OpenCV3.4.2及基本使用

Ubuntu16.04 配置OpenCV3.4.2及基本使用

作者:OpenS_Lee

1背景知识

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#、Ch、Ruby,GO的支持。

所有新的开发和算法都是用C++接口。一个使用CUDA的GPU接口也于2010年9月开始实现

2 Ubuntu16.04 配置OpenCV3.4.2

OpenCV需求包:

· 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

· [optional] CUDA Toolkit 6.5 or higher

1. 在Opencv官网下载OpenCV3.4.2 Sources 网址链接:https://opencv.org/releases.html

如果下载太慢可在“FPGA开源工作室”微信公众号回复“OpenCV”得到百度云盘链接。

图1 OpenCV3.4.2 Sources

2. 将下载好的压缩包copy到Ubuntu系统下并解压缩。

unzip opencv-3.4.2.zip

3. 进入到解压后的文件包中安装依赖库。

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

4. 安装cmake

sudo apt-get install cmake

5. 安装完cmake之后 ,创建编译文件夹build

mkdir build

cd build

6. 执行cmake

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

7. 等待cmake命令执行完成然后执行make

sudo make

sudo make install

8.sudo make install 执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到

sudo gedit /etc/ld.so.conf.d/opencv.conf

执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加

/usr/local/lib

9.执行如下命令使得刚才的配置路径生效

sudo ldconfig

10.配置bash

sudo gedit /etc/bash.bashrc

在最末尾添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

export PKG_CONFIG_PATH

保存,执行如下命令使得配置生效

source /etc/bash.bashrc

更新

sudo updatedb

OpenCV安装配置完成接下来我们建立一个小程序测试测试。

1 建立一个display.cpp文件

vi display.cpp

#include <stdio.h>

#include <opencv2/opencv.hpp>

using namespace cv;

int main(int argc, char** argv )

{

if ( argc != 2 )

{

printf("usage: DisplayImage.out <Image_Path>\n");

return -1;

}

Mat image;

image = imread( argv[1], 1 );

if ( !image.data )

{

printf("No image data \n");

return -1;

}

namedWindow("Display Image", WINDOW_AUTOSIZE );

imshow("Display Image", image);

waitKey(0);

return 0;

}

2 建立CMakeLists.txt

Vi CMakeLists.txt

3. 运行cmake .

cmake .

4. 运行make

make

5. 运行./display lena.png

./display lena.png

结果显示了一张lena.png图片。

OpenCV基本配置成功。

希望学习到更多图像处理相关知识可以到opencv官网或者OpenCV中文网学习。

本文分享自微信公众号 - FPGA开源工作室(leezym0317),作者:OpenSLee

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-08-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Vivado Tcl 脚本编译工程

    工具命令语言(Tcl--Tool Command Language)是Vivado®工具环境中集成的脚本语言。Tcl是半导体行业中用于应用程序编程接口的标准语言...

    FPGA开源工作室
  • 基于haar特征+adboost分类器的人脸检测算法----haar特征

    人脸检测由来已久 ,它属于计算机视觉范畴。在早期的人脸检测研究中主要侧重于人脸的识别和人物身份的鉴定,后来在复杂背景下的人脸检测需求越来越大,人脸检测也逐渐作...

    FPGA开源工作室
  • fpga颜色空间转换视频演示

    仿真通过vga驱动读入图片,首先经过rgb2ycbcr444算法再到ycbcr444转ycbcr422算法再到ycbcr422转ycbcr444算法最后ycbc...

    FPGA开源工作室
  • Linux下你还知道这些特殊文件?

    /dev/null 可无限接收数据,你可以认为是一个黑洞,因此如果我们需要丢弃某些终端输出,可以重定向到这里:

    编程珠玑
  • linux系统编程之文件与I/O(四):文件的属性

    一、读取文件元数据 int stat(const char *path, struct stat *buf); int fstat(int fd, struc...

    s1mba
  • 如何在 Linux 系统通过命令行生成随机文件

    是否会有这样的场景:在有需要测试数据的时候,你不知如何生成一些已包含测试数据的文件,或者你是临时需要一个小的程序,可以让你生成不同大小的文件(比如大于1Mb少于...

    胡恒威
  • 腾讯云服务器Centos挂载数据盘的方法

    砸漏
  • Linux  释放Linux 系统预留的硬盘空间

    大多数文件系统都会保留一部分空间作为紧急情况时用(比如硬盘空间满了),这样能保证有些关键应用(比如数据库)在硬盘满的时候有点余地,不至于马上就crash,给监控...

    授客
  • dumpe2fs 命令的使用,转储 ext2/ext3/ext4 文件系统信息

    xuyaowen
  • WebDriverIO教程:处理Selenium中的警报和覆盖

    在此有关Selenium中警报处理的WebDriverIO教程中,我将向您展示如何在WebDriverIO中处理警报和弹出窗口以及叠加模式。我还将介绍自动化期间...

    用户7466307

扫码关注云+社区

领取腾讯云代金券