来CSDN的时间不长,账号也是才注册的。最近看了一些大神的blog,不管是类似于本文的教程还是理论方面的研究报告写的都非常详细,当然对自己的帮助也很大。现在也该是自己写blog的时候了,不是么~这是我的第一篇原创blog,迈出第一步总是需要下定决心的。这篇文章可能会写的很不专业,我是抱着学习的态度来跟大家分享经验的,也希望各位大神能对blog给出一些意见哈~
正文:一个手抖不小心把原来的Fedora17给删了,不得已重装的Fedora18。本着精简的原则在安装Fedora18时没有选择太多的软件包,所以在安装Opencv时需要自行解决一系列Required Packages的问题,因而这篇文章对Archlinux下的opencv安装也有一定的参考意义。
1. 首先安装CMake
sudo yum -y install cmake
2. 安装ffmpeg或者libav development packages
前者的安装比较容易
sudo yum install ffmpeg
后者我是源码安装,步骤如下:
首先在libav项目官网下载源码包
tar xvf /your_path libav-9.6.tar.gz
cd /your_path/libav-9.6
./configure #这里建议先添加参数--help查看配置选项
这时可能报错: yasm not found, use --disable-yasm for a crippled build
我不是很明白,但按照它说的添加配置参数就可以了,同时我又设置的安装位置,如下:
./configure --disable-yasm --prefix=/usr/local
之后
make -j2 #-j2是进行双线程编译,速度更快,如果你的计算机支持四线程的话,当然可以是-j4啦
sudo make install #会安装到刚才配置时--prefix参数指定的位置
3. 安装GTK+2.x(现在的版本都到GTK+-3.6.4了哈)
1. yum list | grep gtk3 找到相应的安装包,直接yum安装。这个就不做详细解释了,应该都会。
2. 在项目网站下载源码,里面的几个包,第一个是GTK+3.6的源码,下面几个都是GTK的底层依赖包,需要先行安装。
具体的安装步骤,请参照这篇bolg: http://blog.csdn.net/kasagawa/article/details/6824871,这里就不再复制粘贴了。
4. 安装pkg-config
sudo yum install pkgconfig
5. 可选安装
libdc1394 2.x
libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev.
直接yum安装就可以了
sudo yum -y install libdc1394 libjpeg-devel libpng-devel libtiff-devel libjasper-devel
6. 安装Opencv-2.4.5
下载opencv源码包
tar -xvf OpenCV-2.4.5.tar.bz2
cd OpenCV-2.4.5/
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ..
make -j2
make install
添加库路径
sudo vim /etc/ld.so.conf.d/opencv.conf
加入
/usr/local/lib
更新系统库
sudo ldconfig
设置环境变量
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
可能遇到的问题
(1) 在make编译opencv时经常出现错误,我遇到的是:
Linking CXX executable ../../bin/opencv_perf_core /lib/libEGL.so.1: undefined reference to `wl_display_dispatch_queue_pending' collect2: error: ld returned 1 exit status make[2]: * [bin/opencv_perf_core] Error 1 make[1]: * [modules/core/CMakeFiles/opencv_perf_core.dir/all] Error 2
make: * [all] Error 2
yum update libwayland*
重新make就能通过了。
(2) 安装完成后可以进行测试
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
如果还是无法解决,可能原因是在编译安装opencv和export环境变量的时候用的是root权限,而这里调用程序时用的是普通用户,所以无法找到相关文件。