• 欢迎访问显哥博客,本网站纯属学习技术,绝无商业用途,欢迎小伙伴们共同学习!研究技术!QQ:52249909 加我QQ
  • 世界75亿人,这么小的概率,能认识你,是我一生的幸运,不妨加个QQ接触一下:52249909 加我QQ

Linux编译opencv4.4.0【显哥出品,必为精品】

技术栈 lixian 3年前 (2022-04-08) 11577次浏览 0个评论 扫描二维码

1.资源包下载

OpenCV官网下载:https://opencv.org/releases/page/2/

opencv4.4.0和opencv_contrib-4.4.0以及编译过程中缺少的文件
链接:https://pan.baidu.com/s/11D6G3TbRY_-oNYlP4FDnTA 
提取码:26yc

2.编译cmake

#下载
https://cmake.org/download/

#解压
tar -zxvf cmake-3.17.0-rc2.tar.gz
cd cmake-3.17.0-rc2

#配置
./bootstrap --prefix=/usr/local/cmake

#编译,6核,-j可以为并行优化,默认为1,数字越大速度越快,根据CPU的性能
make -j 6

#安装
make install

#添加到bin目录或环境变量
rm -f /usr/bin/cmake
ln -s /usr/local/cmake/bin/cmake /usr/bin/cmake

3.编译opencv

#解压,将opencv_contrib-4.4.0移到opencv-4.4.0里
cp -r opencv_contrib-4.4.0 opencv-4.4.0/

cd opencv-4.4.0
mkdir build
cd build
#编译安装的地址是~/opencv44/
cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local/opencv44/ -DBUILD_JAVA=OFF -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.4.0/modules -DWITH_CUDA=1 -DENABLE_FAST_MATH=1 -DCUDA_FAST_MATH=1 -DWITH_CUBLAS=1 -DOPENCV_GENERATE_PKGCONFIG=ON -DWITH_GSTREAMER=ON -DCUDA_GENERATION=Pascal ..

#6个并发进程一起编译,根据CPU的数量来,数字越大编译速度越快
make -j 6
make install

#添加环境变量到/etc/profile,最后要source一下文件
export PKG_CONFIG_PATH=/usr/local/opencv44/lib64/pkgconfig
export LD_LIBRARY_PATH=/usr/local/opencv44/lib64

#查看linux下的opencv安装库:
pkg-config opencv4 --libs

#查看linux下的opencv安装版本:
pkg-config opencv4 --modversion

3.make -j遇到的问题

#问题1:
fatal error: features2d/test/test_detectors_regression.impl.hpp: No such file or directory

#解决方法:
原因是没找到这个文件,解决方法如下:
将opencv-4.4.0/modules/features2d复制,然后粘贴到build目录中来解决该问题
cd build
cp -r ../modules/features2d .
#问题2:
/root/opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/src/vgg.cpp:490:41: fatal error: vgg_generated_120.i: No such file or directory
/root/opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/src/boostdesc.cpp:654:37: fatal error: boostdesc_bgm.i: No such file or directory

#解决方法
#我提供百度云盘中的文件boostdesc.tar.gz解压
cd /root/boostdesc
cp * ../opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/src/
#问题3:
fatal error: opencv2/xfeatures2d.hpp: No such file or directory

#解决方法
将opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/test/test_features2d.cpp中的
#include "features2d/test/test_detectors_regression.impl.hpp"
#include "features2d/test/test_descriptors_regression.impl.hpp"
改为
#include "test_detectors_regression.impl.hpp"
#include "test_descriptors_regression.impl.hpp"

再将opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/test/test_rotation_and_scale_invariance.cpp中的
#include "features2d/test/test_detectors_invariance.impl.hpp" 
#include "features2d/test/test_descriptors_invariance.impl.hpp"
改为
#include "test_detectors_invariance.impl.hpp"
#include "test_descriptors_invariance.impl.hpp"
#问题4:
fatal error: opencv2/xfeatures2d.hpp: No such file or directory

#解决方法:
cd /home/cxzx/opencv-4.4.0
vim CMakeLists.txt
INCLUDE_DIRECTORIES("/home/cxzx/opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/include")

本站博主 , 版权所有丨如未注明 , 均为原创
转载请注明原文链接:Linux编译opencv4.4.0【显哥出品,必为精品】
喜欢 (0)

您必须 登录 才能发表评论!