有没有适用于Java的dlib库移植版?

4
2个回答

8
我自己使用过dlib,它是一个非常先进和精确的库。据我所知,没有Java的端口。但是你可以将其编译为共享库(.so在Linux或.dll在Windows),然后在Java代码中使用它。
更多关于在Java中使用dll或so的信息,请参考这里这里
另外,还有一种选项是使用代理直接在Java中使用C++库。你可能需要研究一下这个。请参考这里

编辑:根据@evgeniy的评论,dlib的大部分是仅有头文件的模板。如果您直接将dlib导出为共享库,则无法使用它们。相反,您可能希望公开所需的任何API,在此处查看

编辑2:正如@davis-king指出的那样,您可能希望研究使用swig和cmake,就像mitie/dlib Java api一样:在此处查看


2
大多数dlib是基于头文件的,而不包含在共享库中。 - Evgeniy
请纠正我如果我错了,但我相当确定这是无关紧要的,因为即使如此,与 OP 相关的 API 也可以轻松地暴露出来,然后编译成共享库。请参见 https://dev59.com/nlvUa4cB1Zd3GeqPpxO2 - S. Saad
2
是的,你说得对。我想表达的是,dlib本身可以编译为共享库,但是由于所有人脸检测函数都是基于模板的且不存在于libdlib.so中,因此无法直接在Java中使用libdlib.so(.dll)。是的,可以构建一些包含dlib代码的新库,然后在Java中使用它。 - Evgeniy

2

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