Ubuntu14.04 opencv2.4.8和opencv3.3.1多版本共存的实现方法

实现Ubuntu14.04下的OpenCV 2.4.8和OpenCV 3.3.1多版本共存,可以采用以下方法:

环境要求

  • Ubuntu14.04
  • 已经安装OpenCV 2.4.8
  • 已经安装OpenCV 3.3.1(如果需要安装的话)

步骤

1.安装依赖库

sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config problem-report xorg-dev libboost-all-dev libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

2.下载OpenCV3.3.1源码

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

3.创建OpenCV3.3.1的构建目录

mkdir build3 && cd build3

4.使用CMake生成Makefile

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.3.1 -D BUILD_SHARED_LIBS=ON ..

说明:

  • -D 指定一个参数,这里有几个参数的含义:
  • CMAKE_BUILD_TYPE: 指定编译方式,常规有Debug和Release
  • CMAKE_INSTALL_PREFIX: 指定安装目录
  • BUILD_SHARED_LIBS: 指定是否编译动态库

5.进行安装

make -j4
sudo make install

6.重命名原来的OpenCV2.4.8库

cd /usr/local/
sudo mv opencv opencv2.4.8

7.修改OpenCV 3.3.1配置文件

sudo ln -s /usr/local/opencv3.3.1/include/opencv4 /usr/local/include/
sudo ln -s /usr/local/opencv3.3.1/lib/pkgconfig/opencv4.pc /usr/local/lib/pkgconfig/
sudo ln -s /usr/local/opencv3.3.1/share/OpenCV/ /usr/local/share/OpenCV
sudo ln -s /usr/local/opencv3.3.1/bin/opencv* /usr/local/bin/

8.编译测试代码

cd ~
mkdir test
cd test
vim test.cpp

test.cpp内容为:

#include <iostream>
#include <opencv2/opencv.hpp>

int main(int argc, char* argv[])
{
    std::cout << "OpenCV version " << CV_MAJOR_VERSION << "." << CV_MINOR_VERSION << "." << CV_SUBMINOR_VERSION << std::endl;
    cv::Mat img;
    img = cv::imread("example.jpg");
    cv::imshow("image", img);
    cv::waitKey(0);
    return 0;
}

9.编译可执行文件

g++ -o test test.cpp -std=c++11 `pkg-config opencv4 --libs --cflags`

10.执行可执行文件

./test

如果能够正常显示图片,则说明OpenCV 3.3.1已经成功安装。如果需要使用OpenCV 2.4.8,只需要把命令行中的opencv4改成opencv即可。

示例说明

示例一:使用OpenCV 2.4.8

如果想要使用OpenCV 2.4.8,在第5步之前,按照以下步骤进行:

1.重命名原来的OpenCV 3.3.1库

cd /usr/local/
sudo mv opencv opencv3.3.1

2.重命名OpenCV 2.4.8库

sudo mv opencv2.4.8 opencv

示例二:使用OpenCV 3.3.1

如果想要使用OpenCV 3.3.1,按照正常步骤安装即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Ubuntu14.04 opencv2.4.8和opencv3.3.1多版本共存的实现方法 - Python技术站

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

相关文章

  • C#版Tesseract库的使用技巧

    C#版Tesseract库的使用技巧 概述 Tesseract是一个OCR(Optical Character Recognition)引擎,它可以识别图片中的文字,并将其转换为文本。C#版Tesseract库是Tesseract的一个C#封装库,方便了C#开发者在自己的项目中使用OCR技术。本文将介绍如何使用C#版Tesseract库。 安装C#版Tess…

    人工智能概论 2023年5月25日
    00
  • python没有gpu,如何改用cpu跑代码

    当Python无法使用GPU时,您可以将其配置为使用CPU来执行代码。下面是详细的Python CPU转换攻略: 确认您的环境是否支持CPU执行。您可以使用如下代码进行检查: “` import tensorflow as tf if tf.test.is_gpu_available(): print(‘有GPU可用’) else: print(‘没有GP…

    人工智能概论 2023年5月24日
    00
  • Django+RestFramework API接口及接口文档并返回json数据操作

    下面是“Django+RestFramework API接口及接口文档并返回json数据操作”的完整攻略: 一、前置条件 在使用Django RestFramework进行接口开发之前,需要先安装以下软件: Python 3.x Django Django RestFramework 二、创建Django项目 首先,我们需要创建一个Django项目。 可以使…

    人工智能概览 2023年5月25日
    00
  • PowerShell与Python的异同介绍

    PowerShell与Python的异同介绍 异同点 相关背景 PowerShell和Python都是流行的编程语言,其中PowerShell主要用于Windows系统上的任务自动化和系统管理,而Python则具有广泛的应用范围,包括Web开发、数据分析、机器学习等方向。虽然两种语言在某些方面非常相似,但是它们同样存在着许多不同点。 不同的语法 PowerS…

    人工智能概览 2023年5月25日
    00
  • 利用python清除移动硬盘中的临时文件

    利用Python清除移动硬盘中的临时文件的攻略如下: 1. 确定移动硬盘路径 首先,我们需要确定移动硬盘的路径。可以通过在计算机中插入移动硬盘,然后打开资源管理器,在“我的电脑”或“此电脑”中找到移动硬盘所在的盘符。 例如,移动硬盘的路径为”E:”。 2. 编写Python脚本 接下来,我们需要编写Python脚本,用于查找并清除指定路径下的临时文件。代码示…

    人工智能概论 2023年5月25日
    00
  • Sanic框架安装与简单入门示例

    下面我将详细讲解 “Sanic框架安装与简单入门示例”的完整攻略。 1. Sanic框架安装 要安装Sanic框架,你需要先安装Python3.x,然后在命令行终端中输入以下命令: pip install sanic 如果你想安装最新版本的Sanic框架,可以使用以下命令: pip install git+https://github.com/sanic-o…

    人工智能概览 2023年5月25日
    00
  • python 下 CMake 安装配置 OPENCV 4.1.1的方法

    下面是在Python环境下使用CMake来安装配置OpenCV 4.1.1的完整攻略,包含两条示例说明。 安装 CMake 首先需要安装 CMake 工具。CMake是跨平台的开源工具,可用于构建,测试和打包软件。可以从其官网https://cmake.org/download/下载对应平台的安装包进行安装。 下载OpenCV 4.1.1源码 访问OpenC…

    人工智能概览 2023年5月25日
    00
  • Pytorch生成随机数Tensor的方法汇总

    PyTorch生成随机数Tensor的方法汇总可以使用以下方式: 1. 使用torch.rand方法创建随机数Tensor 使用torch.rand方法可以创建一个给定形状的张量,并根据指定规则填充随机值。 示例如下: import torch # 创建一个形状为(2,3)的张量,所有的值都是随机生成的 rand_tensor = torch.rand(2,…

    人工智能概论 2023年5月25日
    00
合作推广
合作推广
分享本页
返回顶部