为了在centos下安装opencv,费了好大功夫,在网上搜集了诸多资料,尝试了各种办法,终于搞定了,写下以纪念。
1. 安装虚拟centos 64位系统
下载CentOS-6.3-x86_64-minimal.iso,通过virtual box安装64位虚拟环境,网上资料较多,不再详述。可能会遇到一下几个问题:
a. 安装64位,需要在bios中设置Intel Virtual Technology为打开状态;
b. 系统安装成功后,设置网络,在virtual box中设置网络方式为“桥接网卡”,在centos中,命令行运行 dhclient eth0 ,即可联 网;
c. 尝试在centos安装virtual box增强包总是出错,没有增强包,虚拟centos界面很小且无法使用共享文件夹功能,为了方便在本机操作centos和centos虚拟机之间传输文件,安装SecureCRT&SecureFX
2. 安装OpenCV
当前OpenCV网站能够下到的源码都是2.4.9之后的,在centos6.3中安装opencv2.4.9总是在make到中间的时候出错,可能是centos6.3自带的gcc(4.4.7)版本过低,参考网上的一些建议将gcc升级之后仍然出错,并且升级gcc非常麻烦。从网上看到有在centos上成功安装成功opencv2.4.2的文章,于是从网上下载到opencv2.4.2的源码。
参考http://www.cnblogs.com/changingivan/archive/2013/01/17/2864076.html
a. 升级CMake
centos6.3自带的CMake版本较低,没法满足opencv2.4.2的要求,需要升级CMake.
参考http://www.jb51.net/os/RedHat/73030.html
b. 安装依赖包
yum install gtk+-devel.x86_64 gimp-devel.x86_64 gimp-devel-tools.x86_64 gimp-help-browser.x86_64 zlib-devel.x86_64 libtiff-devel.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 gstreamer-devel.x86_64 libavc1394-devel.x86_64 libraw1394-devel.x86_64 libdc1394-devel.x86_64 jasper-devel.x86_64 jasper-utils.x86_84 swig python libtool nasm.x86_84
c. 安装Python和Numpy
为了编译Opencv的python版本,centos自带的python版本过低(2.6.),安装Python和Numpy
参考http://www.it165.net/pro/html/201407/17620.html
需要特别注意的是,Python要编译成动态库,并且设置-fPIC选项,否则后面编译opencv会出错
./configure --prefix=/usr/local/ –enable-shared CFLAGS=-fPIC
安装Numpy时,参考http://blog.sina.com.cn/s/blog_ace190f50101lhoc.html
不过没有那么复杂,直接安装成功。
d. 生成Opencv Make文件并安装
cd opencv-2.4.2
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make
make install
e. 配置
vi /etc/ld.so.conf,添加/usr/local/lib
运行ldconfig
3.测试Opencv python版本
安装成功后,在/usr/local/lib/python2.7/site-packages下可以看到cv2.so。
可以测试opencv/samples/python中的例子,看一下是否能够正常运行。