网上的教程大都是基于centos6或者6.5的,找不到一篇完整的可用的centos7教程,安装过程中,踩了很多坑,整理记录如下
参考文章:
http://blog.csdn.net/daunxx/article/details/50506625
http://blog.csdn.net/xuejiren/article/details/24347555
http://www.cnblogs.com/xixixing/p/6096057.html
基本准备:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
sudo yum update
sudo yum install autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel
安装cmake-gui
sudo yum install cmake-gui
为了支持gui特征
sudo yum install gtk2-devel
为了支持摄像头
sudo yum install libv4l-devel
为了支持流媒体
sudo yum install gstreamer-plugins-base-devel
下载opencv
https://sourceforge.net/projects/opencvlibrary/files/opencv-unix/3.2.0/opencv-3.2.0.zip/download
unzip opencv-3.2.0.zip
cd opencv-3.2.0
mkdir build
cd build
先Cmake一次
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
此时会发现Cmake停在了下面这个位置,直接用Ctrl+C停掉当前的Cmake
-- checking for module 'libgphoto2'
-- package 'libgphoto2' not found
-- ICV: Downloading ippicv_linux_20151201.tgz...
进入下面这个文件夹,会发现ippicv_linux_20151201.tgz文件
opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e
用 rm ippicv_linux_20151201.tgz,删除这个文件。
自行下载这个文件 https://raw.githubusercontent.com/Itseez/opencv_3rdparty/81a676001ca8075ada498583e4166079e5744668/ippicv/ippicv_linux_20151201.tgz
然后用cp命令将上面ipp_icv下载中下载的文件放在这个文件夹下。
重新使用上面的命令Cmake一次。
然后
make
sudo make install
vim /etc/ld.so.conf
将以下内容添加到最后:
/usr/local/lib
然后wq保存关闭
然后
ldconfig
vim /etc/bash.bashrc
在文件后添加下面内容,这个文件不存在的话会创建一个:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
然后wq保存关闭
重启终端
新建一个测试代码
//
// helloOpenCV.cpp
// OpencvTest
//
// Created by songlu on 2017/4/13.
// Copyright © 2017年 songlu. All rights reserved.
//
#include "opencv.hpp"
int main()
{
cv::Mat img(100,200,CV_8UC3);
img.setTo(cv::Scalar(255,255,255));
cv::putText(img,"Hello OpenCV!", cv::Point(10,60), 5, 1.0, cv::Scalar(255,255,0));
cv::imshow("Image", img);
cv::waitKey(0);
cv::destroyAllWindows();
return 0;
}
执行下面命令,注意不是单引号,是~那个键的符号
g++ `pkg-config --cflags --libs opencv` helloOpenCV.cpp -o helloOpenCV
./helloOpenCV
大功告成
需要注意的问题:
我是用macOS通过VMware fusion装的centos,拖文件进去文件传不完整,需要用虚拟机自行下载
除最后一条命令外,宿主机ssh执行上述命令均可,因为要显示窗口,还是要到虚拟机上执行