centos7安装和编译opencv4.5.0


centos7安装和编译opencv4.5.0

版权声明:本文为CSDN博主「冰海228」的原创文章,

原文链接:https://blog.csdn.net/qianbin3200896/article/details/117160054

一、centos7的安装

建议使用最小安装方法,安装出来的操作系统比较干净,参考教程 https://blog.csdn.net/u010476739/article/details/106806683

另外,安装时CPU最好开4个,内存7G以上。因为后面要编译opencv,对编译性能要求稍微高一些。

二、gcc的安装

默认的 CentOS 软件源上包含一个名称为Development Tools的软件包组,这个组合包含了 GCC 编译器以及一系列库文件,还有其他编译软件需要用到的工具。运行代码如下:

sudo yum group install "Development Tools"

安装完成后使用命令:

gcc --version

来验证安装是否成功,效果如下:

  • 声明:在这一步可能有的人装不上,可以换源操作,再次尝试安装,如果换源后也无法下载,可以跳过这一步,直接安装gcc,在后续报错中,安装缺少的工具

  • 换源可参考:https://www.cnblogs.com/CYD-self/p/13952883.html

三、cmake的安装

    1. 安装wget
yum install -y wget
    1. 获取CMake源码包
wget https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz
    1. 解压CMake源码包
tar -zxvf cmake-3.6.2.tar.gz
    1. 编译安装
cd cmake-3.6.2

./bootstrap && make -j4 && sudo make install

最后使用命令:

cmake --version

可以查看当前安装的cmake版本号。

四、Opencv4.5.0的安装

    1. 安装依赖
sudo yum -y install epel-release
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 -y install libtiff-devel 
sudo yum -y install tbb-devel eigen3-devel
sudo yum -y install boost boost-thread boost-devel
sudo yum -y install libv4l-devel
    1. 下载opencv和opencv_contrib安装包:
git clone https://gitee.com/binghai228/opencv.git
cd opencv
git checkout 4.5.0
cd ..
git clone https://gitee.com/binghai228/opencv_contrib
cd opencv_contrib
git checkout 4.5.0			# 选择分支
cd ..

然后将opencv_contrib移动到opencv目录下,

然后进入opencv文件夹并创建build文件夹:

cd opencv
mkdir build
cd build 

此时opencv目录下结构如下图所示:

    1. 额外配置

(1)去github或是其他网站把opencv_contrib的module缺失文件下载下来,然后放到opencv_contrib/modules/xfeatures2d/src目录下,文件列表如下,这里给一个我自己整理的下载链接:xfeatures2d

(2)将opencv/modules/features2d复制,然后粘贴到build目录

    1. 编译和安装

首先确保在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 .. 

然后输入下述命令进行编译:

make

这里不建议用make -j4或者make -j8进行编译,因为多线程编译虽然速度快但是容易出问题。中间如果因为特殊原因断了可以使用make命令再继续。

编译100%完成后最后输入下述命令进行安装:

make install
    1. 配置opencv库可执行路径

首先安装vim:

sudo yum install -y vim

添加库路径–执行:

sudo ln -s /usr/local/lib64/pkgconfig/opencv4.pc /usr/share/pkgconfig/
sudo ldconfig

添加环境变量:

sudo vim /etc/profile

打开此文件,在文件末尾另起行加入如下两行:(保存,退出)

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib64/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64

最后令其生效:

source /etc/profile

接下来进行pkg-config配置,默认的pkg搜索链接路径/usr/lib/pkgconfig,需要将opencv.pc拷贝到pkg的默认路径下

cp /usr/local/lib64/pkgconfig/opencv4.pc /usr/lib/pkgconfig

然后输入命令:

ldconfig

重启以后,输入下面的命令查看当前opencv版本号:

pkg-config --modversion opencv4

如果安装正常,输出如下所示:

五、使用Opencv编写C++图像处理程序

    1. 编写CMakeLists.txt
#声明要求的 cmake 最低版本
cmake_minimum_required( VERSION 3.1 )
 
# 声明一个 cmake 工程
project( pro )
 
# 设置编译模式
set( CMAKE_BUILD_TYPE "Release" )
 
#添加OPENCV库
#指定OpenCV版本,代码如下
#find_package(OpenCV 3.3 REQUIRED)
#如果不需要指定OpenCV版本,代码如下
find_package(OpenCV REQUIRED)
 
#添加OpenCV头文件
include_directories(${OpenCV_INCLUDE_DIRS})
 
#显示OpenCV_INCLUDE_DIRS的值
message(${OpenCV_INCLUDE_DIRS})
 
# 添加一个可执行程序
# 语法:add_executable( 程序名 源代码文件 )
add_executable( main main.cpp )
 
# 将库文件链接到可执行程序上
target_link_libraries( main  ${OpenCV_LIBS})

  1. 编写C++文件main.cpp
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
 
int main(){
    Mat image;
    image = imread("./1.jpg");
    if (image.empty()) {
        cout << "Error! Input image cannot be read...\n";
        return -1;
    }
    cout<<"图像宽为:"<<image.cols<<"\t高度为:"<<image.rows<<"\t通道数为:"<<image.channels()<<endl;
    //imshow("images",image); 打开一个小窗口,展示读取的照片
    //waitKey(0); 等待一个信号退出

    return 0;
}

然后正常的使用cmake编译和运行即可。

cmake .

make


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM