基于opencv的人脸检测在android上运行
个人把tensorflow的行人检测,在android上验证ok后,想试验把人脸检测也放到在android上运行下。
故做了一番搜索及试验。主要参考的是如下一篇文章,介绍的比较细致。
https://blog.csdn.net/zengxyuyu/article/details/52303659
还有一些细的问题未列全(在此文章中未说明)。故在此发出来,供大家参考.
个人遇到的一些问题,可参见如下。
1、编译时R,Buildconfig编译错误的问题。
把org/opencv的代码拷贝过去后,要把R.java,Buildconfig.java也拷贝到此opencv目录下。这2个文件在如下目录中:
xxxappuildgeneratedsourceuildconfigdebugcomexampleopencvface
xxxappuildgeneratedsourcedebugcomexampleopencvface
另一个推荐的办法是:
修改出现问题的java代码,import xx.example.R ; import xx.example.Buildconfig。
2、用javah生成头jni头文件的问题。
F: empOpencvFaceappuildintermediatesclassesdebug>javah -classpath 'f:Users\xxxxAndroidsdkplatformsandroid-26android.jar'; com.example.facedetect.DetectionBasedTracker
这里一定注意在com.example.facedetect.DetectionBasedTracker之前要加入空格。
3.、运行时出现camera权限的问题,需要手动添加camera权限(运行时自动提醒添加权限的方式未找到)。
得在AndroidManifest.xml文件中至少要添加如下一行。
<uses-permission android:name="android.permission.CAMERA" />