ASSURF - Haar-Cascades 解码器和设备;如何从命令行使用 Apparat(Scala 问题)?

ASSURF - Haar-Cascades Decoder and Apparat; How to use Apparat from Command Line (Scala Problems)?

这两个项目似乎都已不复存在,因此这是在黑暗中拍摄的。但是我需要帮助安装和使用名为 Apparat 的项目以与 ASSURF 一起使用。

我正在做一个涉及计算机视觉的项目。我遇到了一个名为 ASSURF 的项目:ASSURF

出于我的目的,我正在研究使用 Haar Cascades,因此我想编译和使用项目中的 HaarCascadesDecoder 示例:HaarsCascadesDetector

如果您按照 link 进行演示,您将被引导下载整个库,您可以在其中的各个位置挖掘以找到构建项目所需的必要库和文件。

最后,演示的 wiki 说您必须 post 使用 Apparat 处理 swf 文件。这是我遇到麻烦的地方。因为要使用Apparat,你必须安装一种叫做Scala的编程语言。

有人知道如何从命令行 运行 Apparat 吗?根据项目网站,您需要这样使用TDSI:

Apparat: https://github.com/joa/apparat

tdsi -i input.swf -o output.swf

但是当我在 Windows 10 中使用我的 swf 从命令行 运行 TDSI 时,出现以下错误:

java.lang.ClassNotFoundException: scala.ScalaObject
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access0(Unknown Source)
        at java.net.URLClassLoader.run(Unknown Source)
        at java.net.URLClassLoader.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at apparat.tools.tdsi.TurboDieselSportInjection.main(TurboDieselSportInjection.scala)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at scala.reflect.internal.util.ScalaClassLoader.$anonfun$run(ScalaClassLoader.scala:98)
        at scala.reflect.internal.util.ScalaClassLoader.asContext(ScalaClassLoader.scala:32)
        at scala.reflect.internal.util.ScalaClassLoader.asContext$(ScalaClassLoader.scala:30)
        at scala.reflect.internal.util.ScalaClassLoader$URLClassLoader.asContext(ScalaClassLoader.scala:129)
        at scala.reflect.internal.util.ScalaClassLoader.run(ScalaClassLoader.scala:98)
        at scala.reflect.internal.util.ScalaClassLoader.run$(ScalaClassLoader.scala:90)
        at scala.reflect.internal.util.ScalaClassLoader$URLClassLoader.run(ScalaClassLoader.scala:129)
        at scala.tools.nsc.CommonRunner.run(ObjectRunner.scala:22)
        at scala.tools.nsc.CommonRunner.run$(ObjectRunner.scala:21)
        at scala.tools.nsc.ObjectRunner$.run(ObjectRunner.scala:39)
        at scala.tools.nsc.CommonRunner.runAndCatch(ObjectRunner.scala:29)
        at scala.tools.nsc.CommonRunner.runAndCatch$(ObjectRunner.scala:28)
        at scala.tools.nsc.ObjectRunner$.runAndCatch(ObjectRunner.scala:39)
        at scala.tools.nsc.MainGenericRunner.runTarget(MainGenericRunner.scala:61)
        at scala.tools.nsc.MainGenericRunner.run(MainGenericRunner.scala:88)
        at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:99)
        at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:104)
        at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)

我在我的系统变量中添加了 Scala 和 Apparat 作为路径。不知道从这里去哪里。


我正在使用 Adob​​e Animate(以前称为 Flash Pro)。当我编译项目时,在测试代码时出现以下错误:

Error: Error #1023: Stack overflow occurred.
    at apparat.memory::Memory$/writeByte()

TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at ru.inspirit.haar::HaarCascadesDetector/detectStep()
    at ru.inspirit.haar::HaarCascadesDetector/nextFrame()
    at DemoFaceDetect/onRender()

我的印象是,将 Apparat 应用于生成的 swf 将解决 Whosebug 错误。

不确定。

有没有人成功使用过这个或 ASSURF 的任何演示? link 任何教程?


Tl;DR

有谁知道如何 运行 从 windows 中的命令行 Apparat 以在 swf 上使用 TDSI?

有人成功使用过 ASSURF 的演示吗? link 任何教程?

关于Apparat,我知道这个教程:

http://www.webdevotion.be/blog/2010/06/02/how-to-get-up-and-running-with-apparat/

但这并没有帮助,因为我正在使用 Adob​​e Animate,并且希望尽可能避免使用 FDT 和 ANT 等。

提前致谢。

我在 Google Code/Groups 上找到了 Apparat 的开发者并在那里发布了一个主题:https://groups.google.com/forum/#!msg/apparat-framework/VlYNx8lIsyw/RBAxQjV8BwAJ

为了得到东西 运行,我不得不将 Scala 降级到 v2.9.2 以及 Java v1.7.79。

如果您希望 Apparat 项目可以与较新版本的 Scala 一起使用,则必须使用新的 Scala 版本下载并重新编译 Apparat 项目,但我没有时间这样做。也许别人已经做到了。

希望这对其他尝试做类似事情的人有所帮助。