参考:https://blog.csdn.net/dyllove98/article/details/8917485
我的是在centos7下
安装opencv所需要的库:
根据以下条件检查依赖包是否安装:(以下每一项都需要检查 Yum list xxxx 检查是否安装 )
autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel
为了支持GUI特征 gtk2-devel
为了支持摄像头 libdc1394-devel libv4l-devel
为了支持视频媒体 ffmpeg-devel(一般的源中找不到该包,需要添加源) gstreamer-plugins-base-devel
图形文件解码库更新
libpng-devel libjpeg-turbo-devel
jasper-devel openexr-devel(未安装)
libtiff-devel libwebp-devel(未安装)
ipp_icv 这个东西是一个并行计算库,在编译的时候如果没有这货,就会编译不通过。(去网上下载相应的包,解决问题,下文提到)
tbb-devel 线程构建模块 Intel’s Threading Building Blocks (TBB),是Intel公司开发的并行编程开发的工具。
eigen3-devel 矩阵计算 Eigen是一个开源的C++矩阵计算工具
1.下载源码包
wget http:
//ftp.gnu.org/gnu/gcc/gcc-4.8.0/gcc-4.8.0.tar.bz2
解压: tar -jxvf gcc-4.8.0.tar.bz2
2.下载编译所需依赖库
cd gcc-4.8.0
./contrib/download_prerequisites
cd ..
3.建立编译输出目录
mkdir gcc-build-4.8.0
4.进入此目录,执行以下命令,生成makefile文件
cd gcc-build-4.8.0
../gcc-4.8.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
5.编译
make -j4
如果编译成功,则时间是比较长的,半个小时左右,所以如果你看它一直在输出没有立刻停下来,应该很开心!
ps:我自己在编译的时候出现了:
6.安装
sudo make install
7.切换GCC到新版
确定新安装的GCC的路径,一般默认在/usr/local/bin下。可以先updatedb,然后locate gcc-4.8|tail找一下
ls /usr/local/bin | grep gcc
添加新GCC到可选项,倒数第三个是名字,倒数第二个参数为新GCC路径,最后一个参数40为优先级,设大一些之后就自动使用新版了
update-alternatives --install /usr/bin/gcc /usr/local/bin/i686-pc-linux-gnu-gcc 40
注意:原文多了一个gcc
8.确认当前版本已经切换为新版
升级gcc:
参考:https://blog.csdn.net/dyllove98/article/details/8917485
gcc -v
我这里用ssh远程的,发现版本没变,断开重练下,重新生成会话后发现变成了4.8了!
9.安装cmake:
参考:https://blog.csdn.net/u011056389/article/details/37816067
下载cmake源码地址:https://github.com/Kitware/CMake/releases?after=v3.3.2,这里我选择的是3.3.0版的
安装:
tar -zxvf cmake-3.0.0.tar.gz
cd cmake-3.0.0
./configure
make -j8
make install
./configure安装完出现这样的:
make -j8之后出现:
10. 安装ipp_cv:
下载地址:在https://blog.csdn.net/huangkangying/article/details/53406370中有
参考:https://blog.csdn.net/huangkangying/article/details/53406370
进入到解压后的opencv目录下:
ipp_file=../ippicv_linux_20151201.tgz &&
ipp_hash=$(md5sum $ipp_file | cut -d" " -f1) &&
ipp_dir=3rdparty/ippicv/downloads/linux-$ipp_hash
mkdir -p $ipp_dir &&
cp $ipp_file $ipp_dir
最终结果:
11.安装opencv:
进入到opencv-2.4.13文件夹:
创建一个build文件夹:
mkdir build && cd build
编译安装opencv:
遇到的坑:
在安装的时候直接make,出现了如下的错误:
make[2]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_ffmpeg.o] Error 1
make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2
make: *** [all] Error 2
在网上查找问题说是需要将-D WITH_FFMPEG=OFF设置为off
cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_FFMPEG=OFF -D CMAKE_INSTALL_PREFIX=/usr/local ..
设置完之后成功了:
之后在make
sudo make install
完成,最后进行验证,Build文件夹下进lib文件夹,查看cv2.so是否存在,如图所示:
将cv2.so 移到python2.7的文件夹下
ln cv2.so /usr/lib64/python2.7/site-packages
12.测试opencv是否安装成功:
在python的编辑器中写下面的代码,我用的编辑器是PyCharm,感觉很好用。
import cv2
print cv2.__version__
如下:
导入出现你所安装的版本号就表示安装成功了!!!
但是在pycharm中连接远程环境测试是出现了问题,各种各样的问题,一直未解决,详情请看我的另一个博客
https://mp.csdn.net/postedit/85065994
大家可以关注我和我小伙伴的公众号~~~这里有我和我的小伙伴不定时的更新一些python技术资料哦!!大家也可以留言,讨论一下技术问题,希望大家多多支持,关注一下啦,谢谢大家啦~~