我想在android中检测整个人体有没有办法做到这一点? 我认为在opencv中有一种简单的方法可以做到这一点。但我对Android很新,我不知道如何在android中使用opencv。
答案 0 :(得分:7)
您可以集成opencv(here is tutorial)的级联分类器。
Opencv提供了几个已经过训练的xml文件来检测面部,眼睛甚至是身体。 您也可以训练您的目标对象获取您自己的xml文件(这里是tuto如何从头开始训练你的文件)
现在,对于android,你需要安装Opencv4android SDK(here)。安装后,你会发现一些提供的样品,你需要的是使用“面部检测”的样本,然后你只需要在代码中替换用于人体检测的面部检测的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);
.........
答案 1 :(得分:0)
训练HOG分类器并使用它。还包含其他功能,如缩放空间和可能变形部件模型类型,因此弯曲的人仍然可以检测到它们。