如何在android使用face++(Android Studio)

android配置face++有几个注意的要点。

一.需要将jar文件导入

这里写图片描述
如上图,单击箭头所示位置,将android改为project
这里写图片描述
将下好的facepp的jar文件copy进箭头所示libs文件内
右键jar文件,选择add as libs,将jar文件导入。

二.需要使用新的线程来进行网络访问

因为在android4.0以后,就不支持在主线程中访问网络了。有关在子线程中访问网络的具体方法可以搜其他的博客查看,而facepp的使用方法,则可以参考官网给的faceppandroiddemo,里面有详细的代码,读读即可明白。

三.权限问题,

如果出现:Unhandled exception java.lang.SecurityException: Permission denied (missing INTERNET permission?)的报错的话,那么就是需要在
AndroidManifest.xml文件下添加

<uses-permission android:name="android.permission.INTERNET" />

四.上传本地图片问题

给个示例:

PostParameters postParameters = new PostParameters();
postParameters.setImg(new File
           ("图片路径"));
result = httpRequests.detectionDetect(postParameters);

具体还需要压缩图片,参考其余java压缩文件方法
因为上传文件限制在1M以内

很抱歉,我作为AI语言模型无法提供完整的项目例子,但是我可以提供一些参考资料和步骤供您参考。 1. 下载 OpenCV for Android SDK 在 OpenCV 官网下载 Android SDK 版本的 OpenCV,解压后得到 opencv-android-sdk 目录。 2. 在 Android Studio 中创建新项目 在 Android Studio 中创建一个新项目,选择空项目或者其他类型的项目都可以。 3. 导入 OpenCV for Android SDK 将 opencv-android-sdk 目录中的 OpenCV-android-sdk/sdk/java 目录下的所有文件拷贝到 Android Studio 项目的 libs 目录下。 4. 添加 OpenCV 库 在 Android Studio 中的 build.gradle 文件中添加以下代码: ``` dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation project(':opencv-java3') } ``` 5. 添加 OpenCVManager 在 AndroidManifest.xml 文件中添加以下代码: ``` <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" android:required="true" /> <uses-feature android:name="android.hardware.camera.autofocus" /> <uses-sdk android:minSdkVersion="21" /> <application … <meta-data android:name="org.opencv.engine" android:value="opencv_java3" /> … </application> ``` 6. 实现人脸识别 通过 OpenCV 提供的 CascadeClassifier 类可以实现人脸识别,以下是一个简单的实现例子: ``` CascadeClassifier faceDetector = new CascadeClassifier(); faceDetector.load("path/to/haarcascade_frontalface_default.xml"); Mat image = new Mat(); Utils.bitmapToMat(bitmap, image); MatOfRect faceDetections = new MatOfRect(); faceDetector.detectMultiScale(image, faceDetections); Rect[] facesArray = faceDetections.toArray(); for (Rect rect : facesArray) { Imgproc.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), new Scalar(0, 0, 255), 2); } Bitmap resultBitmap = Bitmap.createBitmap(image.cols(), image.rows(), Bitmap.Config.ARGB_8888); Utils.matToBitmap(image, resultBitmap); imageView.setImageBitmap(resultBitmap); ``` 以上代码中,faceDetector.load() 方法加载了一个人脸识别的分类器,detectMultiScale() 方法对图像进行人脸识别,返回一个矩形数组,每个矩形表示一个人脸的位置,rectangle() 方法在图像上绘制一个矩形框,最后通过 matToBitmap() 方法将处理后的图像转换为 Bitmap 对象并显示在 ImageView 中。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值