由于项目的需要,现要在华为fpga服务器上搭建一个opencv的环境。
具体的搭建过程与此博客 https://blog.csdn.net/kakitgogogo/article/details/52490010# 非常类似,这里直接引用过来:
opencv是个跨平台计算机视觉库,很久之前就对opencv感兴趣了,但是由于以前用的是centos6.8,各种依赖项都是版本太老,安装起来十分费尽(glib,gtk+什么的更新无力)。直到现在更新到了centos7,终于安装成功了。在此把安装过程记录下来。安装方法参考了CentOS7配置opencv for python && eclipse c/c++
在安装之前,要先配置好epel源,因为下面的某些安装在系统自带的源中找不到
yum -y install epel-release
首先是gcc,g++等这些基本的工具,一般都是有的。没有的话就用yum install来安装。
-
yum install gcc gcc-c++
-
yum install cmake
-
yum install python-devel numpy
然后是opencv的依赖项
-
yum install gtk2-devel
-
yum install libdc1394-devel
-
yum install libv4l-devel
-
yum install gstreamer-plugins-base-devel
然后是最麻烦的步骤了,就是安装ffmpeg-devel,要在pbone上才能找到。用这个源要先注册,但是我在这一步就走不下去了,就算是用Gmail也受不到确认邮件。于是就直接下载ffmpeg-devel的包自行安装。安装肯定不会顺利,因为有一堆依赖的库。然后依赖的库又依赖别的库。反正根据它的要求去pbone上面下载库就行了,随便你是用深度优先还是广度优先(幸好下载不用注册)。下了大概十几二十项就搞定了。全都是rpm文件,安装命令都用形如下面的命令的格式就行了
rpm -i xxx.rpm
安装好各种依赖之后就可以安装opencv了。
-
$cd opencv
-
$madir release
-
$cd release
-
$cmake -D WITH_TBB=ON -D WITH_EIGEN=ON ..
-
$cmake -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF ..
-
$cmake -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=OFF -D BUILD_opencv_gpucodec=OFF -D BUILD_opencv_gpufeatures2d=OFF -D BUILD_opencv_gpufilters=OFF -D BUILD_opencv_gpuimgproc=OFF -D BUILD_opencv_gpulegacy=OFF -D BUILD_opencv_gpuoptflow=OFF -D BUILD_opencv_gpustereo=OFF -D BUILD_opencv_gpuwarping=OFF ..
-
$cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
-
$make
-
$sudo make install
到这里已经安装好了。写一个c++小程序来测试一下:
-
//test.cpp
-
#include <opencv2/core/core.hpp>
-
#include <opencv2/highgui/highgui.hpp>
-
#include <opencv2/imgproc/imgproc.hpp>
-
int main(int argc,char *argv[])
-
{
-
cv::Mat image;
-
image=cv::imread("1.png");
-
cv::namedWindow("1.png");
-
cv::imshow("1.png",image);
-
cv::waitKey();
-
return 0;
-
}
然后用g++编译:
g++ -g -o test test.cpp `pkg-config opencv --libs --cflags opencv`