Ubuntu 17.04系统下源码编译安装opencv的步骤详解

Ubuntu 17.04系统下源码编译安装opencv的步骤详解

在Ubuntu 17.04系统中,安装opencv可以通过源或二进制包进行,但由于源和二进制包中的opencv版本较低,不能满足一些开发者的需求。因此,通过源码编译来安装opencv是一个不错的选择。下面将详细介绍源码编译安装opencv的步骤。

步骤

  1. 安装必要的依赖项和工具(推荐使用apt-get安装):

sudo apt-get update
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

  1. 下载opencv源码:

git clone https://github.com/opencv/opencv.git
cd opencv

  1. 创建build目录并进入:

mkdir build
cd build

  1. 运行cmake并编译:

cmake ..
make -j8 //根据电脑CPU核心数来选择-j后面的数字,加快编译速度
sudo make install

  1. 安装完成后,配置opencv库的环境变量:

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

  1. 测试opencv是否安装成功:

pkg-config opencv --modversion

如果能够输出opencv的版本号,说明安装成功。

示例

示例1:使用cmake编译

mkdir MyProject           //创建项目目录
cd MyProject              //进入项目目录
vim CMakeLists.txt        //打开CMakeLists.txt文件

然后将以下内容复制到文件中,并保存。

cmake_minimum_required(VERSION 2.8)
project(MyProject)
find_package(OpenCV REQUIRED)
add_executable(myapp main.cpp)
target_link_libraries(myapp ${OpenCV_LIBS})

在项目目录下,创建一个名为main.cpp的文件,并将以下内容复制到文件中,并保存。

#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
    Mat img = imread("test.jpg");
    imshow("Image", img);
    waitKey();
    return 0;
}

打开终端并进入项目目录,运行以下命令:

mkdir build
cd build
cmake ..
make
./myapp

如果能够正常显示test.jpg的图像内容,说明opencv编译成功。

示例2:使用opencv的CMake模板编译

opencv提供了一个CMake模板,只需要简单的几步就可以编译并运行一个opencv项目。以下是详细的步骤:

在终端中进入opencv的samples/cpp目录:

cd opencv/samples/cpp/

将以下命令复制并粘贴到终端中:

g++ -ggdb facedetect.cpp -o facedetect `pkg-config --cflags --libs opencv`

执行上述命令后,将会生成一个名为facedetect的可执行文件。使用以下命令来运行该程序:

./facedetect --cascade="path/to/haar_cascade.xml" image.jpg

其中cascade参数是一个已经训练好的haar级联分类器(它用于检测人脸),而image.jpg是一个你希望载入的图像文件。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Ubuntu 17.04系统下源码编译安装opencv的步骤详解 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • c语言小游戏程序之弹跳小球的实现代码

    下面我来详细介绍“c语言小游戏程序之弹跳小球的实现代码”的完整攻略。 一、需求分析 首先需要明确这个小游戏的需求,即实现一个可以弹跳的小球,小球需要在屏幕内弹跳,并且小球碰撞到墙壁会反弹,小球下落时能够受到重力加速度的影响,小球的运动需要实时刷新。 二、实现思路 在明确了需求后,我们可以思考一下实现的思路: 定义小球的位置、速度、半径等参数,并设定重力加速度…

    C 2023年5月23日
    00
  • C语言lidar_align雷达里程计校准功能详解

    C语言lidar_align雷达里程计校准功能详解 简介 lidar_align是一个用于激光雷达和里程计数据校准的库,主要用于点云地图构建、机器人导航等应用中。此库支持C/C++语言,可用于Linux和Windows系统。此外,该库还有一个ROS节点版本,方便ROS用户使用。 lidar_align库的主要功能有三个: 雷达里程计校准(lidar-odom…

    C 2023年5月22日
    00
  • C语言中的算法

    C语言中的算法使用攻略 什么是算法? 算法是指完成特定任务的一系列步骤。在计算机编程中,算法是指一系列解决问题的方法和技巧。 算法在C语言中的应用 C语言中的很多常用函数或者库都依赖算法。在具体实现时,需要编写算法的代码来解决相关的问题。C语言中使用算法的主要步骤如下: 1. 定义输入和输出 对于算法来说,需要先定义输入和输出,在C语言中可以使用函数的参数和…

    C 2023年5月9日
    00
  • 如何利用OpenGL画坐标轴指示图

    下面是详细的攻略,它包括了OpenGL画坐标轴指示图的完整过程: 准备工作 在开始之前,我们需要安装以下工具: OpenGL库(例如OpenGL ES或OpenGL) 开发环境,例如Visual Studio或Xcode 了解C++语言编程 步骤一:建立OpenGL的环境 我们需要建立OpenGL的环境来画图。在这个步骤中,你需要建立OpenGL窗口并初始化…

    C 2023年5月23日
    00
  • VS2022实现VC++打包生成安装文件图文详细历程

    下面将为你详细讲解“VS2022实现VC++打包生成安装文件图文详细历程”,主要步骤包括创建VC++工程、打包生成、安装文件制作、安装文件测试。具体内容如下: 创建VC++工程 打开 Visual Studio 2022,点击“新建项目”。 在弹出的“新建项目”窗口中,选择“Visual C++”分类,并在其中选择“Windows桌面向导”选项。 在下一个窗…

    C 2023年5月30日
    00
  • PHP使用JSON和将json还原成数组

    关于PHP使用JSON和将JSON还原成数组的攻略,可以分为以下几个步骤: 1. PHP使用JSON 1.1 创建JSON字符串 在PHP中使用json_encode()函数可以将数组转换为JSON格式的字符串。例如: $array = array( ‘name’ => ‘Tom’, ‘age’ => 25, ‘sex’ => ‘male’…

    C 2023年5月23日
    00
  • C++中四种加密算法之DES源代码

    下面是详细讲解C++中四种加密算法之DES源代码的完整攻略。 什么是DES算法 DES算法全称为数据加密标准(Data Encryption Standard),是一种使用密钥加密的对称加密算法。该算法是目前应用最广泛的加密算法之一,被广泛应用于各种安全领域。 DES算法的源代码 以下是C++实现的DES算法源代码: #include <iostrea…

    C 2023年5月23日
    00
  • C语言实现出栈序列

    C语言实现出栈序列的完整攻略 什么是出栈序列? 在栈(Stack)的操作中,如果我们要把栈中的元素全部取出来,那么根据栈的“先进后出”原则,最上面的元素最后一个被取出,最后面进入栈中的元素最先被取出。 把栈中的元素全部取出来,并且按照原来的顺序排列,得到的序列就是一个出栈序列(Pop Sequence)。 如何判断一个出栈序列是否合法? 给定一个原始序列和一…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部