我需要调用魔方OCR(其开放源图书馆在C++不光学字符识别)从Java应用程序服务器。现在它很容易运行的可执行使用的运行时间。exec().基本逻辑将

  1. 保存图像,目前正在举行的存储器文件(a。tif)
  2. 通过在图像的文件,名称为魔方的命令行程序。
  3. 读出案文文件,从Java使用FileReader.

有多少改进的性能,我可能得到通过编写一JNI包魔方?不幸的是,没有一个开放源JNI包装工作在Linux。我会做我自己和我想知道是否有益,是值得的发展成本。

有帮助吗?

解决方案

很难说,它是否将是值得的。如果你假设,如果这样做的过程中通过JNI,OCR码可以直接访问的图像数据而不必把它写一个文件,那么它肯定会消除任何盘I/O约束。

我建议会有更简单的办法,而只进行JNI的选择,如果表现是不可接受的。至少,那么你就可以做一些基准和估算效益则可能可以实现的。

其他提示

如果你追求自己的包装,我建议你看看 南国防军.它会让你打电话最多的"本地"图书馆只写代码,并会给你更多的帮助并不比原JNI做到这一安全。南国防军可用于大多数的平台。

我同意tweakt.不使用JNI如果没有基金绩效的原因这样做。你的应用程序的稳定也可能有危险如果你使用JNI呼吁是否会有一些可能性的存储器泄漏或甚至崩溃,在你的JNI层或在OCR本身。这将永远不会发生,如果你用它通过命令线接口(所有存将被释放的节目出口和所有异常程序终止的产出可以进行检查的呼叫代码)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top