android - 如何在android中检测人体

标签 android opencv image-processing

<分区>

我想在 android 中检测整个人体,有什么办法可以做到吗? 我认为在 opencv 中有一种简单的方法可以做到这一点。但我是 android 的新手,我不知道如何在 android 中使用 opencv。

最佳答案

可以集成opencv的Cascade Classifier ( here is tutorial )。

Opencv 提供了一些经过训练可以检测面部、眼睛甚至 body 的 xml 文件。 您也可以训练您的目标对象以获得您自己的 xml 文件(这里是 tuto 如何从头开始训练您的文件)

现在,对于 android,您需要安装 Opencv4android SDK ( here )。安装后,你会发现一些提供的示例,你需要的是使用“人脸检测”的示例,然后你只需将代码中用于人脸检测的xml替换为用于 body 检测的xml。 Opencv 将为您提供(haarcascade_upperbody.xml、hogcascade_pedestrians.xml)

这是您必须检查以替换的内容(在 FdActivity.java 中):

try {
           // load cascade file from application resources
          InputStream is = getResources().openRawResource(R.raw.lbpcascade_frontalface);
          File cascadeDir = getDir("cascade", Context.MODE_PRIVATE);
          mCascadeFile = new File(cascadeDir, "lbpcascade_frontalface.xml");
          FileOutputStream os = new FileOutputStream(mCascadeFile);
.........

关于android - 如何在android中检测人体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22638539/

相关文章:

python - 在Python中的图像上大纲文本

python - 卫星图像分类 Opencv

Android Data Binding 添加widget作为绑定(bind)适配器的参数

java - Android 测验应用程序崩溃

java - 让文本到语音 Activity 在点击时同时工作转到新的 xml

java - 检查 Java 中对象/变量类型的最佳方法

python - Python/OpenCV应用程序锁定问题

image - 如何在 OpenCV 中的两个图像之间应用 SoftLight 混合器?

python - OpenCV:如何规范化面部(去除阴影)?

python - numpy 矢量化/更高效的 for 循环