当前位置:   article > 正文

Linux-Centos7下编译OpenCV 4.1.0_linux opencv4.1.0源码安装

linux opencv4.1.0源码安装

一、安装jdk

我的jdk版本。
​​在这里插入图片描述

二、安装python3.6

注意:python版本可根据实际情况去调整,如果是opencv2.4.10,那么就需要python2.7。
Linux下可能已经有python2,可以先确定下。
注意替换以下命令中的python版本号。

./configure --prefix=/usr/local/python

make && make install

#更改默认python的bin文件名

mv /usr/bin/python /usr/bin/python2.6.6

ln -sv /usr/local/python/bin/python3.6 /usr/local/python/bin/python

echo "export PATH=/usr/local/python/bin/:$PATH" >> /etc/profile

source  /etc/profile

vim  /usr/bin/yum

#!/usr/bin/python2.6.6

:wq
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

三、安装cmake

官网:https://cmake.org/

1、查看当前版本
cmake --version
  • 1
2、下载获得cmake-3.9.2源码
wget https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz
  • 1
3、解压、安装新版本
tar -xvf cmake-3.9.2.tar.gz

cd cmake-3.9.2

./configure

sudo make && make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

【注】安装完后,执行cmake --version会报如下错误

CMake Error: Could not find CMAKE_ROOT !!!
CMake has most likely not been installed correctly.
Modules directory not found in
/Applications/CMake 2.8-11.app/Contents/bin
CMake Error: Error executing cmake::LoadCache(). Aborting.
  • 1
  • 2
  • 3
  • 4
  • 5

【解决方法】

先执行:hash -r

然后再执行:cmake --version
  • 1
  • 2
  • 3

完美解决

四、安装依赖包

安装依赖包
yum  install   ant    gcc  gtk2-devel   pkgconfig  zlib-devel
  • 1

//因官网提供的安装方法基于ubuntu,上面提供的有的依赖包在centos上并没有找到。

yum   groupinstall "Development Tools"
  • 1

如果出现依赖不存在,可以将下面的全部安装一遍。
centOS 下需要安装的依赖(即使按照完下面的依赖还是有部分的不存在,不过也可以进行编译)

sudo yum -y install epel-release
 
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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

五、安装opencv

也可以到github上面找到opencv项目然后选择“master”,选择版本,点击右边的“download zip”下载源码的压缩包

第一步,下载源码包,即第一幅图中的第四个链接;
第二步,解压缩, tar -zxvf opencv-3.3.0.tar.gz,会得到一个opencv-3.3.0的文件夹
第三步,cmake编译。说到这儿,需要强调一下,cmake 编译之前可以提前准备一下必要的工具包,诸如安装java/python等,如果大家不知道准备什么工具也不要紧,假设大家都已经准备好了必要的安装工具,直接开始编译,代码如下

cd opencv-3.3.0
mkdir build
cd build
  • 1
  • 2
  • 3

//这条命令一直无法执行完毕
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/home/software/opencv …
//我使用了下面这条命令
cmake3 -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/home/opencv …

make
make install
  • 1
  • 2

cmake的参数就不赘述了,也就是根据源码编译并且安装到 /home/software/opencv 这个目录下面,编译完成之后会打印输出一个清单,也就是会安装哪些东西,安装到哪个目录,类似于Windows下面正式安装之前的一个显示页面,我在这个页面吃了一个大亏,因为我需要安装opencv的java相关库,而第一次安装的时候我的系统里面没有安装ant,所以清单里面显示java 一栏中 ant 后面显示 NO,就这个东西导致我安装虽然成功了,但是仍然没有我想要的opencv_java330库,所以这里也提醒一下大家,可以根据自己需要的环境来安装对应的库,如果缺失了就及时补充对应的工具包,然后再安装,也就是在 make 和 make install 之前要确保 cmake 运行之后的清单里面要有自己想要的东西。然后我补充安装 ant ,重新 cmake 编译一次,这一次输出打印的清单里面java 后面的所有内容都是 YES 了。

还有一个国外的教程:

How to Install OpenCV on CentOS 7
https://www.vultr.com/docs/how-to-install-opencv-on-centos-7

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/119910
推荐阅读
相关标签
  

闽ICP备14008679号