opencv:centos7中安装opencv4.3.0环境 |
您所在的位置:网站首页 › centos7安装opencv › opencv:centos7中安装opencv4.3.0环境 |
准备
安装依赖
sudo yum -y install epel-release # 安装epel扩展源
sudo yum -y install git gcc gcc-c++ cmake3
sudo yum -y install qt5-qtbase-devel
sudo yum install -y python34 python34-devel python34-pip
sudo yum install -y python python-devel python-pip
sudo yum -y install python-devel numpy python34-numpy
sudo yum -y install gtk2-devel
sudo yum install -y libpng-devel
sudo yum install -y jasper-devel
sudo yum install -y openexr-devel
sudo yum install -y libwebp-devel
sudo yum -y install libjpeg-turbo-devel
sudo yum install -y freeglut-devel mesa-libGL mesa-libGL-devel
sudo yum -y install libtiff-devel
sudo yum -y install libdc1394-devel
sudo yum -y install tbb-devel eigen3-devel
sudo yum -y install boost boost-thread boost-devel
sudo yum -y install libv4l-devel
sudo yum -y install gstreamer-plugins-base-devel
sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
yum -y install ffmpeg ffmpeg-devel # 安装ffmpeg依赖【必须】
下载最新的OpenCV
这个很慢,可以源码下载,然后编译安装 git clone https://github.com/opencv/opencv.git cd opencv git checkout master # 选择master版本分支 cd .. git clone https://github.com/opencv/opencv_contrib.git cd opencv_contrib git checkout master # 选择master版本分支 cd ..cmake编译选项(ON是开(机)的意思; OFF是关(机)的意思) -D CMAKE_BUILD_TYPE=RELEASE 编译模式,release/debug, 默认为release-D CMAKE_INSTALL_PREFIX=/usr/local 安装路径-D WITH_TBB=ON \ #Include Intel TBB support (Intel开发的并行编程开发工具),默认为off-D BUILD_TIFF=ON Build libtiff from source(一种灵活的位图格式),默认为ON -D WITH_V4L=ON 支持Vedio4Linux(是Linux中关于视频设备的内核驱动,为针对视频设备的应用视频设备的应用程序提供一系列接口函数,这些视频设备包括TV卡、视频捕捉卡和USB摄像头等,对于USB摄像头,其驱动程序中需要提供基本的I/O操作用于open、read、write、close函数的实现),默认为ON -D INSTALL_C_EXAMPLES=ON Install C examples, 默认为off -D INSTALL_PYTHON_EXAMPLES=ON \ Install Python examples, 默认为off -D BUILD_EXAMPLES=ON Build all examples, 默认为off -D WITH_QT=ON/ #支持QT(c++图像用户界面开发框架,多用于开发GUI),默认为off -D WITH_GTK=ON 支持跨平台通用图形工具包GTK, 默认为on -D WITH_OPENGL=ON 支持开放图形库OpenGL,默认为off … -D OPENCV_GENERATE_PKGCONFIG=ON Linux下我们使用opencv,需要使用pkg-config来进行环境变量的管理,这个软件需要.pc类型的文件作为软件配置信息 生成opencv.pc文件的配置(注意,opencv4生成的文件叫做opencv4.pc) 错误: Maybe need administrative privileges. 错误 CMake Error at cmake_install.cmake:41 (file): file cannot create directory: /usr/local/share/licenses/opencv3. Maybe need administrative privileges. 解决 需要su权限 IPPICV: Download: ippicv_2020_lnx_intel64_20191018_general.tgz 错误 IPPICV: Download: ippicv_2020_lnx_intel64_20191018_general.tgz -- Try 1 failed -- ======================================================================= Couldn't connect to server from the Internet. Perhaps direct connections are not allowed in the current network. To use proxy please check/specify these environment variables: - http_proxy/https_proxy - and/or HTTP_PROXY/HTTPS_PROXY 查看 # cd ../.cache/ippicv/ # ls -l进入 IPAddress.com 网站查询raw.githubusercontent.com真实地址。 打开 etc\hosts,(需要使用管理员权限打开) 追加199.232.96.133 raw.githubusercontent.com如下: 1、手动下载 官网下载太慢了,直接到百度云下载吧: 链接:https://pan.baidu.com/s/14EzGMm5tUp9FuM5Gb2_Z8Q 提取码:n65y
2、覆盖 mv ippicv_2020_lnx_intel64_general_20191018_general.tgz opencv-4.3.0/.cache/ippicv/7421de0095c7a39162ae13a6098782f9-ippicv_2020_lnx_intel64_20191018_general.tgz cmake/OpenCVModule.cmake:370 (_glob_locations) 错误 CMake Error at cmake/OpenCVModule.cmake:288 (message): No modules has been found: /home/oceanstar/workspace/opencv-4.3.0/opencv_contrib/modules Call Stack (most recent call first): cmake/OpenCVModule.cmake:370 (_glob_locations) modules/CMakeLists.txt:7 (ocv_glob_modules) 解决方法将opencv_contrib放到opencv-4.3.0之下 进入 IPAddress.com 网站查询raw.githubusercontent.com真实地址。 打开 /etc/hosts,(需要使用管理员权限打开) 追加199.232.96.133 raw.githubusercontent.com如下: 1、手动下载 下载地址 2、拷贝到源码并生成同名文件,放到 opencv_contrib/modules/xfeatures2d/src/、 cd opencv-4.3.0/.cache/xfeatures2d/boostdesc/和cd opencv-4.3.0/.cache/xfeatures2d/vgg/目录下即可 mv boostdesc_bgm.i opencv-4.3.0/.cache/xfeatures2d/boostdesc/0ea90e7a8f3f7876d450e4149c97c74f-boostdesc_bgm.i mv boostdesc_bgm_bi.i opencv-4.3.0/.cache/xfeatures2d/boostdesc/232c966b13651bd0e46a1497b0852191-boostdesc_bgm_bi.i mv boostdesc_bgm_hd.i opencv-4.3.0/.cache/xfeatures2d/boostdesc/324426a24fa56ad9c5b8e3e0b3e5303e-boostdesc_bgm_hd.i mv boostdesc_lbgm.i opencv-4.3.0/.cache/xfeatures2d/boostdesc/0ae0675534aa318d9668f2a179c2a052-boostdesc_lbgm.i mv boostdesc_binboost_064.i opencv-4.3.0/.cache/xfeatures2d/boostdesc/202e1b3e9fec871b04da31f7f016679f-boostdesc_binboost_064.i mv boostdesc_binboost_128.i opencv-4.3.0/.cache/xfeatures2d/boostdesc/98ea99d399965c03d555cef3ea502a0b-boostdesc_binboost_128.i mv boostdesc_binboost_256.i opencv-4.3.0/.cache/xfeatures2d/boostdesc/e6dcfa9f647779eb1ce446a8d759b6ea-boostdesc_binboost_256.i mv vgg_generated_48.i opencv-4.3.0/.cache/xfeatures2d/vgg/e8d0dcd54d1bcfdc29203d011a797179-vgg_generated_48.i mv vgg_generated_80.i opencv-4.3.0/.cache/xfeatures2d/vgg/7cd47228edec52b6d82f46511af325c5-vgg_generated_80.i mv vgg_generated_64.i opencv-4.3.0/.cache/xfeatures2d/vgg/7126a5d9a8884ebca5aea5d63d677225-vgg_generated_64.i mv vgg_generated_120.i opencv-4.3.0/.cache/xfeatures2d/vgg/151805e03568c9f490a5e3a872777b75-vgg_generated_120.i $ tree opencv-4.3.0/.cache/xfeatures2d/ opencv-4.3.0/.cache/xfeatures2d/ ├── boostdesc │ ├── 0ae0675534aa318d9668f2a179c2a052-boostdesc_lbgm.i │ ├── 0ea90e7a8f3f7876d450e4149c97c74f-boostdesc_bgm.i │ ├── 202e1b3e9fec871b04da31f7f016679f-boostdesc_binboost_064.i │ ├── 232c966b13651bd0e46a1497b0852191-boostdesc_bgm_bi.i │ ├── 324426a24fa56ad9c5b8e3e0b3e5303e-boostdesc_bgm_hd.i │ ├── 98ea99d399965c03d555cef3ea502a0b-boostdesc_binboost_128.i │ └── e6dcfa9f647779eb1ce446a8d759b6ea-boostdesc_binboost_256.i └── vgg ├── 151805e03568c9f490a5e3a872777b75-vgg_generated_120.i ├── 7126a5d9a8884ebca5aea5d63d677225-vgg_generated_64.i ├── 7cd47228edec52b6d82f46511af325c5-vgg_generated_80.i └── e8d0dcd54d1bcfdc29203d011a797179-vgg_generated_48.i $ tree opencv-4.3.0/opencv_contrib/modules/xfeatures2d/src/ opencv-4.3.0/opencv_contrib/modules/xfeatures2d/src/ ├── affine_feature2d.cpp ├── boostdesc_bgm_bi.i ├── boostdesc_bgm_hd.i ├── boostdesc_bgm.i ├── boostdesc_binboost_064.i ├── boostdesc_binboost_128.i ├── boostdesc_binboost_256.i ├── boostdesc.cpp ├── boostdesc_lbgm.i ├── brief.cpp ├── cuda │ └── surf.cu ├── daisy.cpp ├── ellipticKeyPoint.cpp ├── fast.cpp ├── freak.cpp ├── generated_16.i ├── generated_32.i ├── generated_64.i ├── gms.cpp ├── harris_lapace_detector.cpp ├── latch.cpp ├── logos │ ├── Logos.cpp │ ├── Logos.hpp │ ├── Match.cpp │ ├── Match.hpp │ ├── Point.cpp │ ├── Point.hpp │ ├── PointPair.cpp │ └── PointPair.hpp ├── logos.cpp ├── lucid.cpp ├── msd.cpp ├── opencl │ └── surf.cl ├── pct_signatures │ ├── constants.hpp │ ├── distance.hpp │ ├── grayscale_bitmap.cpp │ ├── grayscale_bitmap.hpp │ ├── pct_clusterizer.cpp │ ├── pct_clusterizer.hpp │ ├── pct_sampler.cpp │ ├── pct_sampler.hpp │ └── similarity.hpp ├── pct_signatures.cpp ├── pct_signatures_sqfd.cpp ├── precomp.hpp ├── sift.cpp ├── stardetector.cpp ├── surf.cpp ├── surf.cuda.cpp ├── surf.hpp ├── surf.ocl.cpp ├── vgg.cpp ├── vgg_generated_120.i ├── vgg_generated_48.i ├── vgg_generated_64.i ├── vgg_generated_80.i └── xfeatures2d_init.cpp如果替换了还是在下载,就把下载的链接注释掉!!!!!类似下图 替换,然后opencv_contrib/modules/face/CMakeLists.txt:13 (ocv_download)注释掉 头文件include地址不对,解决方法如下: 将opencv-4.1.0/modules/features2d/test/文件下的 test_descriptors_invariance.impl.hpp test_descriptors_regression.impl.hpp test_detectors_invariance.impl.hpp test_detectors_regression.impl.hpp test_invariance_utils.hpp拷贝到opencv_contrib-4.1.0/modules/xfeatures2d/test/文件下。 同时,将opencv_contrib-4.1.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_contrib-4.1.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" opencv2/xfeatures2d/cuda.hpp:没有那个文件或目录下面的方法没有用,老老实实改目录吧【和上面的方法一样】
添加 : INCLUDE_DIRECTORIES("/home/oceanstar/CLionProjects/opencv-3.4.0/opencv_contrib/modules/xfeatures2d/include") – No package ‘gtk±3.0’ found cmake 并测试如下: [root@localhost tt]# cmake3 . -- The C compiler identification is GNU 4.8.5 -- The CXX compiler identification is GNU 4.8.5 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found OpenCV: /usr/local (found version "4.1.1") -- Configuring done -- Generating done -- Build files have been written to: /root/tt [root@localhost tt]# make Scanning dependencies of target DisplayImage [ 50%] Building CXX object CMakeFiles/DisplayImage.dir/DisplayImage.cpp.o [100%] Linking CXX executable DisplayImage [100%] Built target DisplayImage [root@localhost tt]# ./DisplayImage lena.jpg (Display Image:7859): Gtk-WARNING **: 09:04:15.519: cannot open display:编译OpenCV提示opencv_contrib缺少boostdesc_bgm.i等文件 test_detectors_regression.impl.hpp: 没有那个文件或目录 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |