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