
1、就是数据的准备,你要从网络上下载一些人脸库,后面用来训练人脸识别模型。人脸检测模型opencv是自带的,但是识别模型需要自己训练。下载人脸库之后需要对人脸进行标记,这是一个繁琐的工作,不过网上有脚本或者自己写个程序简化工作量。
2、把数据标记好之后就是opencv的事情。
3、打开摄像头进行人脸检测,就是框出人脸的位置。人脸检测模型是opencv自带的。
[cpp] view plain copy
sudo apt-get install build-essential
sudo apt-get install cmake
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
sudo apt-get install python-dev python-numpy
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev
进入目录opencv-3.1.0,然后cmake生成makefile:
先把我的安装历史纪录给大家看下吧,大家也好心里有数
[html] view plain copy
make .
然后
[html] view plain copy
make && make install
这下子代码插入了。
现在我们做的就是该怎么找到opencv库了:
首先打开这个文件,在最后一行添加一句话,当然它也可能是空的,没影响。
[html] view plain copy
sudo vim /etc/ld.so.conf.d/opencv.conf
最后一行添加[html] view plain copy
/usr/local/lib
运行以下代码配置库:
[html] view plain copy
sudo ldconfig
现在打开另一个文件,添加环境变量:sudo gedit /etc/bash.bashrc
在这个文件的末尾添加下面两行:
[html] view plain copy
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
然后测试:
[html] view plain copy
cd ~
vim hello.cpp
[cpp] view plain copy
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out <Image_Path>\n")
return -1
}
Mat image
image = imread( argv[1], 1 )
if ( !image.data )
{
printf("No image data \n")
return -1
}
namedWindow("Display Image", WINDOW_AUTOSIZE )
imshow("Display Image", image)
waitKey(0)
return 0
}
然后编译:
[html] view plain copy
g++ `pkg-config --cflags opencv` -o hello hello.cpp `pkg-config --libs opencv`
然后运行:
[html] view plain copy
./hello psb\ 1.jpg
后面的psd是图片路径,由于我是在服务器上运行的,所以没办法显示出来,服务器默认是没有装Xwindow的,我装了,但是报了一堆错,就放弃了
[html] view plain copy
root@iZ28gdz88j1Z:~# ./hello psb\ 1.jpg
(Display Image:25620): Gtk-WARNING **: cannot open display:
希望能够帮助到你
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)