DeepIn20 安装OpenCV4.5.5

一、下载 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/ ..

 


————————————————
参考链接:

https://blog.csdn.net/shengfakun1234/article/details/123351394

https://blog.csdn.net/weixin_43592742/article/details/116612141

 

posted @ 2022-07-23 09:18  蘭亭客  阅读(263)  评论(0编辑  收藏  举报