离线编译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"
}
]
}
]
}```