ubuntu离线编译opencv源码并安装

linux离线编译opencv源码并安装

第二次在ubuntu Linux下离线编译opencv源码,为自己以后编译时方便查找和东平西凑。
Ubuntu版本: Ubuntu 18.04 LTS
OpenCV版本: OpenCV 4.3.0

准备源码

从github下将源码下载到本地:

cd ~/<my_working_directory>
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

安装依赖包

从github下将源码下载到本地:

[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev  libdc1394-22-dev

其中依赖libjasper-dev ,本人一直安装不上,所以百度直接找到依赖软件的网站下载手动安装,依赖包安装顺序如下, 下载地址

   sudo dpkg -i libjasper1_1.900.1-debian1-2.4ubuntu1.2_amd64.deb
   sudo dpkg -i libjasper-dev_1.900.1-debian1-2.4ubuntu1.2_amd64.deb

用cmake编译安装Opencv源码

cmake 项目

cd ~/opencv
mkdir build 
cd build
cmake -D CMAKE_BUILD_TYPE=Release -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules  -D CMAKE_INSTALL_PREFIX=/usr/local ..

本次安装是最新的Opencv 4.3.0版本,所以还依赖ippicv_2020_lnx_intel64_20191018_general.tgz我也是提前下载
下载后修改/opencv/3rdparty/ippicv/ippicv.cmake文件中第42行url地址为file:./…/…/ippicv_2020_lnx_intel64_20191018_general.tgz,

make项目

make -j7 # 开启7个并行编译job

安装opencv

sudo make install

卸载opencv

sudo make uninstall

编译安装结束

在安装OpenCV过程编译时出现的错误

fatal error: ImfChromaticities.h: No such file or directory
#include <ImfChromaticities.h

解决办法:

sudo apt-get install libopenexr-dev

windows离线编译opencv 4.10源码安装

下载源码后,下载相应无法通过国内环境下载的依赖,修改vs 2022中的编译配置,勾选所有cuda相关的选项
在这里插入图片描述

{
  "configurations": [
    {
      "name": "x64-Debug",
      "generator": "Ninja",
      "configurationType": "Debug",
      "buildRoot": "${projectDir}\\out\\build\\${name}",
      "installRoot": "${projectDir}\\out\\install\\${name}",
      "cmakeCommandArgs": "",
      "buildCommandArgs": "",
      "ctestCommandArgs": "",
      "inheritEnvironments": [ "msvc_x64_x64" ],
      "variables": [
        {
          "name": "OPENCV_EXTRA_MODULES_PATH",
          "value": "../opencv_contrib/modules",
          "type": "PATH"
        },
        {
          "name": "BUILD_CUDA_STUBS",
          "value": "True",
          "type": "BOOL"
        },
        {
          "name": "WITH_CUDA",
          "value": "True",
          "type": "BOOL"
        },
        {
          "name": "ENABLE_CUDA_FIRST_CLASS_LANGUAGE",
          "value": "True",
          "type": "BOOL"
        }
      ]
    },
    {
      "name": "x64-Release",
      "generator": "Ninja",
      "configurationType": "RelWithDebInfo",
      "buildRoot": "${projectDir}\\out\\build\\${name}",
      "installRoot": "${projectDir}\\out\\install\\${name}",
      "cmakeCommandArgs": "",
      "buildCommandArgs": "",
      "ctestCommandArgs": "",
      "inheritEnvironments": [ "msvc_x64_x64" ],
      "variables": [
        {
          "name": "OPENCV_EXTRA_MODULES_PATH",
          "value": "../opencv_contrib/modules",
          "type": "PATH"
        },
        {
          "name": "BUILD_CUDA_STUBS",
          "value": "True",
          "type": "BOOL"
        },
        {
          "name": "WITH_CUDA",
          "value": "True",
          "type": "BOOL"
        },
        {
          "name": "ENABLE_CUDA_FIRST_CLASS_LANGUAGE",
          "value": "True",
          "type": "BOOL"
        },
        {
          "name": "CUDA_ENABLE_DELAYLOAD",
          "value": "True",
          "type": "BOOL"
        }
      ]
    }
  ]
}```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值