opencv:centos7中安装opencv4.3.0环境

您所在的位置:网站首页 centos7安装opencv opencv:centos7中安装opencv4.3.0环境

opencv:centos7中安装opencv4.3.0环境

2023-08-13 01:39| 来源: 网络整理| 查看: 265

准备 安装依赖 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 ..

在这里插入图片描述

编译安装OpenCV cd opencv-4.3.0/ mkdir build cd build cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules/ -D WITH_TBB=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D OPENCV_GENERATE_PKGCONFIG=ON .. # 生成静态库 # cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTS=OFF -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules/ -D WITH_TBB=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D OPENCV_GENERATE_PKGCONFIG=ON .. make -j$(nproc) #有几个CPU就用几个CPU make install

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

在这里插入图片描述

解决 方法0

进入 IPAddress.com 网站查询raw.githubusercontent.com真实地址。 打开 etc\hosts,(需要使用管理员权限打开) 追加199.232.96.133 raw.githubusercontent.com如下: 在这里插入图片描述

方法1:

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之下 在这里插入图片描述

编译OpenCV提示opencv_contrib缺少boostdesc_bgm.i等文件 错误 ~/opencv_contrib/modules/xfeatures2d/src/boostdesc.cpp:673:20: fatal error: boostdesc_bgm.i: No such file or directory 解决 方法0

进入 IPAddress.com 网站查询raw.githubusercontent.com真实地址。 打开 /etc/hosts,(需要使用管理员权限打开) 追加199.232.96.133 raw.githubusercontent.com如下: 在这里插入图片描述

方法1

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

如果替换了还是在下载,就把下载的链接注释掉!!!!!类似下图

在这里插入图片描述

data: Download failed: 28;“Timeout was reached” Make Warning at cmake/OpenCVDownload.cmake:202 (message): data: Download failed: 28;"Timeout was reached" For details please refer to the download log file: /home/oceanstar/workspace/opencv/build/CMakeDownloadLog.txt Call Stack (most recent call first): opencv_contrib/modules/face/CMakeLists.txt:13 (ocv_download) CMake Warning at opencv_contrib/modules/face/CMakeLists.txt:26 (message): Face: Can't get model file for face alignment.

替换,然后opencv_contrib/modules/face/CMakeLists.txt:13 (ocv_download)注释掉 在这里插入图片描述

fatal error: features2d/test/test_detectors_regression.impl.hpp: 没有那个文件或目录 fatal error: features2d/test/test_detectors_regression.impl.hpp: 没有那个文件或目录 #include "features2d/test/test_detectors_regression.impl.hpp"

头文件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:没有那个文件或目录

下面的方法没有用,老老实实改目录吧【和上面的方法一样】

在这里插入图片描述 打开 /home/oceanstar/CLionProjects/opencv-3.4.0/modules/stitching 下的CMakeLists.txt

添加 : INCLUDE_DIRECTORIES("/home/oceanstar/CLionProjects/opencv-3.4.0/opencv_contrib/modules/xfeatures2d/include")

在这里插入图片描述

Checking for module ‘gtk±3.0’

– No package ‘gtk±3.0’ found 在这里插入图片描述 解决:

yum install gtk3-devel 测试C程序 基础包 mkdir tt && cd tt vi DisplayImage.cpp #include #include using namespace cv; int main(int argc, char** argv ) { if ( argc != 2 ) { printf("usage: DisplayImage.out \n"); return -1; } Mat image; image = imread( argv[1], 1 ); if ( !image.data ) { printf("No image data \n"); return -1; } namedWindow("Display Image", WINDOW_AUTOSIZE ); imshow("Display Image", image); waitKey(0); return 0; } vi CMakeLists.txt set(CMAKE_CXX_STANDARD 14) #设置c++标准为14 cmake_minimum_required(VERSION 2.8) project( DisplayImage ) find_package( OpenCV REQUIRED ) include_directories( ${OpenCV_INCLUDE_DIRS} ) add_executable( DisplayImage DisplayImage.cpp ) target_link_libraries( DisplayImage ${OpenCV_LIBS} )

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:

在这里插入图片描述

扩展包 #include #include #include #include using namespace cv; using namespace std; int main() { Mat img = imread("/home/oceanstar/CLionProjects/object-detection-SIFT-master/image.png",cv::IMREAD_COLOR); Ptr sift = xfeatures2d::SIFT::create(); vector keypoints; Mat descriptors; sift->detectAndCompute(img, cv::noArray(),keypoints, descriptors); cv::drawKeypoints(img,keypoints,descriptors,cv::Scalar(0, 255, 255)); imshow("Result", descriptors); waitKey(); return 0; }

在这里插入图片描述

卸载 # make uninstall pkg-config pkg-config opencv4 --cflags --libs

编译OpenCV提示opencv_contrib缺少boostdesc_bgm.i等文件 test_detectors_regression.impl.hpp: 没有那个文件或目录



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3