centos 7.5 编译并运行 opencv 4.5.1 c++

1.安装依赖项

1、yum install cmake -y

2、yum install gcc gcc-c++ kernel-devel -y

3、yum install gcc-gfortran -y

安装完后,可以用 gcc -v 、g++ -v 和 gfortran -v 查看版本。

4、yum install git -y

5、yum install libgnomeui-devel -y

6、yum install gtk2 gtk2-devel gtk2-devel-docs -y

7、yum install gnome-devel gnome-devel-docs -y

8、pkg-config --version (查看pkg版本,如果没有安装百度安装)

9、ffmpeg组件安装1)先安装epel扩展源 
yum -y install epel-release
 
(2)安装其他扩展源 
yum localinstall –nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm -y
yum localinstall –nogpgcheck https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm -y 
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro 
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
3)最后安装ffmpeg 
yum -y install ffmpeg ffmpeg-devel
 
(4)测试ffmpeg有没有安装成功 
输入命令ffmpeg -version

10、安装opencv 其他依赖项

yum install python-devel numpy -y
yum install libdc1394-devel -y
yum install libv4l-devel -y
yum install gstreamer-plugins-base-devel -y

2. 安装cmake-gui,好像必须是3.x以上,具体是多少不记得了,用最新版

 cmake官网下载 linux 版的 cmake,我这里下载 cmake-3.19.3-Linux-x86_64.sh,执行脚本后,再执行:

   cd cmake-3.19.3-Linux-x86_64

   ./cmake-gui

   config 完成后搜索 world,勾选,然后 generate, 然后进入编译目录 make

3. make完成后找到lib目录,将 libopencv_world.so.4.5.1 改名 libopencv_world.so.4.5,拷贝到C++项目下,编译时引为动态链接库,运行时拷贝到运行目录。

测试代码如下:

#include <iostream>
using namespace std;
#include <opencv2/opencv.hpp>
using namespace cv;

int main(int argc, char *argv[])
{
    //读取磁盘图像文件
    Mat image = imread("/root/01.tif");

    //裁剪出一张新图像
    Mat partImage = image(Rect(0, 0, 500, 500));

    //保存裁剪出的新图像
    imwrite("/root/01.left.top.png", partImage);

    cout << "over" << endl;
    return 0;
}

 发现以上代码在一台新的Cent7.5机器上无法编译通过,提示缺少组件。将1中的依赖项全部安装后,可以正常编译。具体是哪几个,暂时无法精准定位,全装最保险。

桂棹兮兰桨,击空明兮溯流光。
原文地址:https://www.cnblogs.com/nanfei/p/14338875.html