2013-10-15 4 views
0

Я использую Camera.Face для обнаружения лица и min3D для загрузки 3d моделей.Обнаружение лица + 3d модель в android

Я хочу, чтобы модель двигалась с лицом, но она не работает хорошо.

@Override 
public void updateScene() { 
    if (mFaces == null) { 

     animeModel.position().x = animeModel.position().y = animeModel 
       .position().z = 0; 
     return; 
    } 
    for (Face face : mFaces) { 
     if (face == null) { 
      continue; 
     } 
     animeModel.position().x = face.rect.centerX(); 
     animeModel.position().y = face.rect.centerY(); 
    } 
} 

Является ли координата этой модели и координаты прямоугольника различными системами?

(мировые координаты в экранные координаты или что-то?)

Как решить эту проблему?

UPDATE:

enter image description here

У меня есть попытаться смоделировать координату и лицо координату.

Эти два значения совершенно разные.

Как преобразовать face.rect.centerX() в animeModel.position(). X?

ответ

0

Вот статья все о том, как был разработан слежения за лицом демо:

http://www.smallscreendesign.com/2011/02/07/about-face-detection-on-android-%E2%80%93-part-1/

Это приложение также доступно на Play магазине. В части 1 вышеуказанной статьи приведены некоторые показатели производительности для времени распознавания. Похоже, что для обнаружения лица может потребоваться до двух секунд или более.

Вы можете использовать код этой статьи для создания прототипов. Вы можете обнаружить, что обнаружение лица происходит не быстро или достаточно часто, чтобы отслеживать лицо в реальном времени.

Вот документация для отслеживания лица на сайте разработчика Android: http://developer.android.com/reference/android/hardware/Camera.Face.html

UPDATE:

Заканчивать эту библиотеку: https://code.google.com/p/asmlib-opencv/

+0

Постараюсь ASMLib-OpenCV. Спасибо за предложение! –