(本文的很多地方参照了以下blog:
http://www.cnblogs.com/emouse/archive/2013/02/22/2922940.html#3173367
感谢那位大神的详细描述~~)
领导让把在windows下做的程序(使用opencv)移植到linux下,所以先尝试着在linux下安装opencv。
基本上按照网上的教程就可以搞定的事情,只是因为我对linux不熟所以稍微花了点时间,姑且把过程记录下吧:
1.首先要安装Cmake。
方法很简单:apt-get install cmake即可。
但是这里有个问题,使用这个命令需要root权限,而ubuntu本身是禁止root权限的,所以需要先按下面的方法打开root权限:
sudo passwd
Password: <--- 输入你当前用户的密码
Enter new UNIX password: <--- 新的Root用户密码
Retype new UNIX password: <--- 重复新的Root用户密码
passwd:已成功更新密码
之后再sudo就没有问题啦!装B成功~
2.设置环境变量。
sudo gedit /home/afz/.bashrc
在打开的文件后添加:
export PATH=$PATH:/usr/local/cmake-2.8.12.2-Linux-i386/bin
查看版本,测试是否安装成功:
root@afz:/home# cmake --version
cmake version 2.8.12.2
3.安装各种奇怪的东西,不然ms后面编译会报错
# apt-get install libgtk2.0-dev
# apt-get install pkg-config
4.从官网下载openCV for linux,文件名:opencv-3.0.0.zip
解压!
5.新建一个opencv-x86作为编译目录。
6.cmake_gui打开gui配置界面,如图所示配置:
(发现第一张图我忘记截了,所以用这两天配置树莓派时候的截图代替~请不要在意这些细节~)
这里我犯了个错误,看到网上别人说勾选WITH_QT,我也这样做了,结果就是Generate的时候报了无数关于找不到qt环境的错误。
所以,如果只是为了编译opencv的话,只需要按照默认设置,然后按照上图蓝框里面的的配置修改就好了。
Generate结束后,可以进入opencv-x86目录可以查看Makefile文件,看下文件的生成时间是否和刚才的生成时间一致。
7.进入opencv-x86目录,执行make和make install完成安装。
注意,make时间还蛮长的,所以可以趁这时候划个水休息下~
8.配置环境变量:
sudo gedit /etc/ld.so.conf.d/opencv.conf
将以下内容添加到最后:
/usr/local/lib
注意,这时候opencv.conf有可能还没有被建立,用touch命令自己新建一个空的文件即可。
9.配置库:
sudo ldconfig
10.更改环境变量:
sudo gedit /etc/bash.bashrc
在文件后添加以下内容:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
11.重启linux使配置生效。
===========================================================
接下来就是激动人心的例程测试阶段啦!
12.将/opencv-3.0.0/samples/cpp文件夹拷贝到随便什么位置(其实不拷贝也无所谓)
13.进入cpp文件夹,里面有一个现成的文件夹:example_cmake
进入这个文件夹,执行make。会生成opencv_example的可执行文件。
双击这个文件就能看到Hello openCV的输出了。
14.上面的例程效果不够华丽?没关系,试下下面这个吧:
facedetect.cpp
编译后,执行以下命令:
./opencv_facedetect --cascade="/home/afz/openCV/opencv-3.0.0/data/haarcascades/haarcascade_frontalface_alt.xml" scale=.5 /home/afz/Downloads/1.jpg
(需要注意那个xml文件是已经训练好的分类器,你可以选择自己喜欢的分类器来试验下效果~)
(这个人脸识别的例程对于多个人脸也是一样可以识别的~)
当当当党!
可以看出这个人脸识别效果还是很不错的,这么变形都能识别的出来~
好吧让你们受惊了,来张我的女神结束吧: