centos7安装和编译opencv4.5.0

目录

一、centos7的安装

二、gcc的安装

三、cmake的安装

四、Opencv4.5.0的安装

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

六、部署


一、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

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

三、cmake的安装

1. 安装wget

yum install -y wget

2. 获取CMake源码包

wget https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz

3. 解压CMake源码包

tar -zxvf cmake-3.6.2.tar.gz

4. 编译安装

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

2. 下载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目录下结构如下图所示:

3. 额外配置

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

                            

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

 

4. 编译和安装

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

5. 配置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})

2. 编写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;
    return 0;
}

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

六、部署

在一台CentOS7上的机器写完的opencv程序如何部署到另一台CentOS7的机器上,本小节实现以下这个功能。首先安装gcc,然后拷贝可执行程序到目标机器上,提升可执行程序权限:

chmod +x main

步骤1. 编辑链接配置文件

vim /etc/ld.so.conf.d

步骤2. 确认内容是否为如下,不是则修改为如下:保存并退出

include /etc/ld.so.conf.d/*.conf

步骤3. 进入目录内,创建*.conf文件,文件名随意,扩展名必须为.conf

cd /etc/ld.so.conf/
vim libmy.conf 

步骤4. 在文件内部,添加so的路径,保存并退出

/home/czd/eclipse-workspacee/calllib/Debug

步骤5. 执行命令时期生效

sudo ldconfig

程序在运行时寻找so库就会到添加的目录中寻找。

 

 

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钱彬 (Qian Bin)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值