在Fedora 15下安装配置OpenCV 2.4的过程和配置。

首先我想安装OpenCV 2.0或这2.2.可是在Fedora 15上编译2.2的时候,一直会出现错误,然后照着网上的解决方案,还是会出现一些问题,于是就下了2.4的版本,编译的时候,没有出现问题(貌似平台不一样,安装的时候也不一样),网上最多的教程就是Ubuntu下安装。其实可以直接通过yum install opencv在Fedora 15下安装,不过安装了之后,貌似我的还是出现点问题,就直接卸载掉了。下面说说编译OpenCV 2.4的过程和出现的问题,以及处理方法。

1.下载OpenCV 2.4,地址http://sourceforge.net/projects/opencvlibrary/files/
2.解压下下来的文件,假设你在$HOME/Desktop下解压的。
3。进入OpenCV 2.4的目录
4.mkdir release #建立目录,用来存cmake命令处理之后的一些文件
5.cd release
6.cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ..
7.make
8.sudo make install

到这里就安装好了,如果上面的任何一部出现Error的话,可以自行上网解决,编译2.2的时候,出现的错误主要是undefined reference to `cvCreateCameraCapture_V4L(int)’ 类似的问题,网上对这类问题的讨论也不少,可以自行google。假设你现在已经安装好OpenCV 2.4了。那么测试下吧。现在你需要在/etc/ld.so.conf文件中添加一行代码,如下:/usr/local/lib/pkgconfig。在/etc/ld.so.conf.d/opencv.conf文件中添加一句代码如下:/usr/local/lib.注意如果没有此文件,则自己新建就行。然后运行ldconfig命令[需要root权限]设置环境变量export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

进入OpenCV 2.4/sample/c目录下,运行build_all.sh文件[可以通过sh build_all.sh来运行],然后可以通过运行

./facedetect –cascade=“/usr/local/share/opencv/haarcascades/haarcascade_frontalface_alt.xml” –scale=1.5 lena.jpg

看到一张检测人脸的图像,那么就表示你的OpenCV配置成功了。下面自己写一个简单的程序再测试下呗。

好的,我们用如下的C程序来检测:

#include “opencv2/highgui/highgui_c.h”
int main(int argc, char *argv)
{
IplImage img = cvLoadImage(argv[1],1);
/cvNamedWindow(“Example”,CV_WINDOW_AUTOSIZE);/
cvShowImage(“Image”,img);
cvWaitKey(0);
cvReleaseImage(img);
cvDestroyWindow(“Example”);
return 0
}

用命令

gcc </span>pkg-config --cflags --libs opencv<span style="color: #7fffd4;"> -o cv cv.c

来编译,发现出错了,说什么undefined reference to symbol ‘lrint@@GLIBC_2.1’。上网找了下,说要加一些什么编译的动态库之类的,一开始不知道需要添加什么库,后来在突然实验下发现需要用到math库,也就是需要在编译命令的最后面加上 -lm才行。不过如果改成C++文件,头文件用的highgui.hpp的话,不需要加-lm也可以通过编译且运行良好,编译好了之后,用如下命令:

./cv ex.bmp

来测试刚编译好的文件,ex.bmp是当前目录下的一张bmp图片。如果显示了该图片,就表示成功了。接下来就可以用OpenCV 写自己的其他代码了。

Comments