游戏 - 使用前置摄像头配合OpenCV人脸检测技术

3
我需要在Android上编写应用程序/游戏。我需要的是面部检测(嘴巴+可选眼睛)。我已经编写了面部检测部分,但现在我需要开始第二部分,即游戏。之前我在LibGDX中编写过一些游戏,但我不知道如何将这两个库合并(如果可能的话)。 您有任何想法吗?也许您知道任何简单的游戏引擎,可以与opencv配合使用?或者您有其他想法,我该怎么做?
我已经有一个方法:compare(),它返回:
- 1-当有人张开嘴巴时
- 2-当有人闭上眼睛时
那部分工作正常,但我不知道如何在OpenCV库中使用它来制作简单的游戏。 我尝试过以下代码(该代码应表示玩家):
Rect a = new Rect(0,10,0,10);
Core.rectangle(mRgba, a.tl(), a.br(), new Scalar(255, 0, 0, 255), 2);
if(compare()==1)a.x++;    

还有其他方法,但它太粗糙。

感谢您提前回答。


package com.saper;

import android.os.Bundle;

import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;

public class MainActivity extends AndroidApplication {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
    cfg.useGL20 = false;

    initialize(new Saper(), cfg);
}
}

这是-android文件夹中的所有代码。在游戏文件夹中,我有大量的文件和代码墙。问题在于:我需要将这部分来自opencv的代码添加到哪里?

1个回答

1

也许您知道任何一个简单的游戏引擎,可以与opencv合作吗?

任何游戏引擎都可以做到这一点。您需要在游戏的主循环中使用您的方法。这样,您就可以在每次迭代主游戏循环时使用用户输入(从compare()的输出)来执行操作。

由于我不知道您想制作什么类型的游戏,因此无法帮助您决定哪个引擎会做出最好的工作。

您可以在以下讨论中找到有用的信息:
https://stackoverflow.com/questions/9752930/getting-started-with-game-development
http://www.java-gaming.org/topics/how-do-i-start-java-game-development/27156/view.html
https://www.udemy.com/blog/java-game-programming/


我想制作一个平台游戏,英雄会自动从左边跑到右边,玩家可以(张嘴)跳跃,(闭眼)躲避敌人。我还不确定场景是静态的,英雄会移动,还是英雄在屏幕中心,场景是动态的。 - Alca
我更喜欢LibGDX,因为我已经在其中编写了一些游戏。但我不知道如何将这两个库“合并”在一起。主活动应该是什么样子的?因为一方面,我有来自opencv/android的main_activity,另一方面,我有来自libgdx的main_activity,它分为3个文件夹(带有game、-android和-desktop),问题是,在哪个部分中我需要添加这个?我不能将其添加到那个带有game的文件夹中,因为其中没有任何Android库,而这些库在带有-android名称的文件夹中。 - Alca
@Alca 你好,你做完游戏了吗?如果你成功完成了,能分享一下你的经验吗? - nikoliazekter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接