人脸识别项目FFmpeg+OpenCV+虹软SDK
Posted 果果小师弟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了人脸识别项目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、将face01
命名为hhh
./asfort_face_insert ./face_lib/face01.png hhh
12、执行可执行文件
./ffmpeg_camera_asfort
如果是识别到了face01.png 就会显示hhh名字
以上是关于人脸识别项目FFmpeg+OpenCV+虹软SDK的主要内容,如果未能解决你的问题,请参考以下文章