人脸识别项目FFmpeg+OpenCV+虹软SDK
一、注册虹软
APP_ID:5vypHP9yEx3gq3s9Kf7tF4SVxfGaCBaJb5CkKfuiKNMz
SDK_KEY:5vJZ7hRJfqj8eQdFvEBUg2meYgfGuuLyG9foTKUhBHxV
二、下载源码
三、修改源码
我这里用的是Sourceinsight打开的源码。将asfort_manage.h
文件中的APPID
和SDKKEY
替换成自己在刚刚注册的。
四、移植源码
1、将虹软的SDK放到ubuntu中,可以新建一个文件夹存放虹软的SDK目录下,我的SDK文件件路径是
/home/zhiguoxin/Arcsoft
2、新建一个文件夹myproject 将工程文件ffmpeg_arc_face-recognize
放到这个文件夹中并赋予777权限
cd /home/zhiguoxin/
mkdir myproject
cd myproject
cp ffmpeg_arc_face-recognize /home/zhiguoxin/myproject
chmod 777 -R ffmpeg_arc_face-recognize
3、下载sqilte源码,并将sqlite-autoconf-3380500.tar.gz
拷贝到myproject中
然后解压
tar zvxf sqlite-autoconf-3380500.tar.gz
4、进入到sqlite-autoconf-3380500
目录中
cd sqlite-autoconf-3380500
5、配置信息,生成Makefile
./configure
6、编译安装
make
make install
7、进入/home/zhiguoxin/Arcsoft/inc文件夹下
cd /home/zhiguoxin/Arcsoft/inc
8、将/home/zhiguoxin/Arcsoft/inc中的文件拷贝至/home/zhiguoxin/myproject/ffmpeg_arc_face-recognize
cp amcomdef.h arcsoft_face_sdk.h asvloffscreen.h merror.h /home/zhiguoxin/myproject/ffmpeg_arc_face-recognize/
9、拷贝/home/zhiguoxin/Arcsoft/lib/linux_x64
中的动态库到/usr/local/lib/
cp libarcsoft_face_engine.so libarcsoft_face.so /usr/local/lib/
10、修改home/zhiguoxin/myproject/ffmpeg_arc_face-recognize中的makeflie文件
gedit Makefile
all:
g++ map_manage.cpp sqlite3_operation.cpp asfort_manage.cpp opencv_queue.cpp ffmpeg_camera_asfort.cpp -I./asfort_include -I/usr/ffmpeg4.1/ffmpeg/include -L/usr/ffmpeg4.1/ffmpeg/lib -L./asfort_lib/ -o ffmpeg_camera_asfort -lsqlite3 -lSDL2 -lSDL -lm -lasound -larcsoft_face_engine -larcsoft_face -lavformat -lavcodec -lavutil -lavfilter -lavdevice -lswresample -lswscale -lpthread -lopencv_core -lopencv_dnn -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgcodecs -lopencv_imgcodecs -lopencv_imgproc -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_videoio -lopencv_video -larcsoft_face_engine -larcsoft_face
g++ asfort_face_insert.cpp sqlite3_operation.cpp asfort_manage.cpp -I./asfort_include -I/usr/ffmpeg4.1/ffmpeg/include -L/usr/ffmpeg4.1/ffmpeg/lib -L./asfort_lib/ -o asfort_face_insert -lsqlite3 -lSDL2 -lSDL -lm -lasound -larcsoft_face_engine -larcsoft_face -lavformat -lavcodec -lavutil -lavfilter -lavdevice -lswresample -lswscale -lpthread -lopencv_core -lopencv_dnn -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgcodecs -lopencv_imgcodecs -lopencv_imgproc -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_videoio -lopencv_video -larcsoft_face_engine -larcsoft_face
注意:./asfort_face_insert ./face_lib/face 按TAB键(表示查找./face_lib/路径下face开头的文件)
之后出来图片都是以face开头的
11、编译
make
11、将/face_lib文件中的图片插入数据库
./asfort_face_insert ./face_lib/face01.png hhh
./asfort_face_insert ./face_lib/liuyao.png liuyao
./asfort_face_insert ./face_lib/yangjiacheng.png yangjiacheng
12、执行可执行文件,注意需要在root用户下执行次命令。
./ffmpeg_camera_asfort
如果是识别到了liuyao.png 就会显示liuyao名字