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++项目下,编译时引为动态链接库,运行时拷贝到运行目录。
包含目录:/usr/include/opencv4,库目录:/usr/lib/x86_64-linux-gnu,库文件:opencv_core;opencv_imgcodecs;opencv_imgproc
测试代码如下:
#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中的依赖项全部安装后,可以正常编译。具体是哪几个,暂时无法精准定位,全装最保险。
桂棹兮兰桨,击空明兮溯流光。