您当前的位置:首页 > 计算机 > 系统应用 > Linux

Deepin20 安装OpenCV4.5.5

时间:07-21来源:作者:点击数:

一、下载 OpenCV

OpenCV 官网 : Download

选择版本 OpenCV4.5.5 ,点击 Sources 下载即可。

二、编译源码

如果需要安装第三方库 contrib ,则另外需要下载相同版本的 contrib。

下载地址: https://opencv.org/releases/

Step1: 将下载完成的 OpenCV4.5.5 Sources 包解压,得到文件夹 opencv-4.5.5。

Step2: 将下载完成的 opencv_contrib-4.5.5.tar.gz 包解压,并将解压出的文件夹 opencv_contrib-4.5.5 拷贝进文件夹 opencv-4.5.5 中。

Step3: 在文件夹 opencv-4.0.1 中创建文件夹 build,并进入 build 文件夹中。

配置 make

安装前如果还没装 g++的,还需要执行以下命令:

sudo apt-get install build-essential

这里注意了,我安装的时候还需要执行下面这个命令,不然会报错:If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function ‘cvNamedWindow’

sudo apt-get install libgtk2.0-dev pkg-config

对了,安装过程中还会报:不能成功下载 FFmpeg 或 IPPICV

需要前往GitHub下载相应的库。

链接:https://github.com/opencv/opencv_3rdparty/branches/all

建议不要 clone 整个仓库,貌似比较大且慢。

具体用哪一分支可用根据 cmake 文件(opencv/3rdparty/)进行获取。

FFmpeg 对应的位置在 path to opencv/3rdparty/ffmpeg/ffmpeg.cmake

在第 1 行可以找到所需要下载的分支名,即 Binaries branch name: ffmpeg/master_20200908

在第 3 行可以找到对应提交记录的哈希值,即 6152e132572dfdaa32887eabeb7199bef49b14dc

文章最后,我会给出完整安装包,省得大家自己研究了。

ippicv 对应的位置在 path to opencv/3rdparty/ippicv/ippicv.cmake

在第 1 行可以找到所需要下载的分支名。可以通过 OPENCV_ICV_NAME 变量的定义 来获取,如:set(OPENCV_ICV_NAME “ippicv_2020_lnx_intel64_20191018_general.tgz”),其中的时间为 20191018,那么选对应的分支即可。

在第 17 行可以找到对应提交记录的哈希值,即7421de0095c7a39162ae13a6098782f9

复制库文件

将 ffmpeg 目录中的 相关文件复制到 ${OpenCV_BINARY_DIR}\opencv\3rdparty\ffmpeg 目录下。

将 ippicv 文件夹复制到 ${OpenCV_BINARY_DIR}\opencv\3rdparty\ippicv 目录下,ippicv 目录可能不存在,自己创建即可。ippicv 根据系统不同,可能为其它的名称,都在前面步骤中下载的文件中,解压即可。

将ippicv cmake文件中的下载地址替换为我们已下载的文件路径:file:///media/xz/BigData/3rdlibs/src/opencv-4.6.0/3rdparty/ippicv/ippicv/

最后还要修改下opencv的cmake 文件

在 CMake 中重新 Configure 即可。

在自己编译OpenCV时,因为种种原因可能会导致FFmpeg或ippicv下载不成功的问题,可以通过手动配置来解决这类问题,当然也可以直接配置之后再编译。

下面进入编译环节

在 build 文件夹中打开命令行,执行以下命令:

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

如果上面的命令执行失败,则执行如下命令:

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

执行 make 命令进行编译

make -j 8

采用 8个进程加快编译速度(我这老电脑了,也只能8个进程,大家可根据自己硬件情况来),编译完成后进行安装:

sudo make install

三、报错解决

如报如下错误:

untime library [libssl.so.1.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in:

/home/rw/anaconda3/lib

runtime library [libcrypto.so.1.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in:

/home/rw/anaconda3/lib

则需修改编译方法为(注:有时需加上sudo):

sudo cmake -D CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/g++ -D CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Auto OPENCV_EXTRA_MODULES_PATH=../opencv/opencv_contrib/modules/ ..

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门