1

我正在使用名为 Halcon 的商业计算机视觉软件开发解决方案。我正在考虑将我的解决方案迁移或转换为 Python 中的 OpenCV。我想开始在 Halcon 中开发我的其他计算机视觉解决方案,因为 IDE 非常棒,而且他们会生成一个脚本来将它们迁移到 OpenCV。

有谁知道这个任务的任何图书馆?

我想开始开发一个开源 SDK 来将 Halcon 转换为 OpenCV。我正在考虑开始开发从 Halcon 到 Python 的所有内部函数。有什么建议吗?

4

3 回答 3

4

我不会在这样的努力上投入时间。这些是一些原因:

  • 对于简单的函数(模糊、腐蚀、扩张),Halcon 和 OpenCV 对同一函数有不同的实现,并且可能会有稍微不同的输出(例如,一个可能向上取整,另一个向下取整)。在 Halcon 中正常运行的复杂程序可能会因为这些小差异(蝴蝶效应)而在 OpenCV 中失败。

  • 可能有复杂的功能(模式匹配算法、深度学习)存在于一种环境中,而在另一种环境中不存在。

  • OpenCV 用户通常没有 Halcon IDE。我喜欢 OpenCV,因为它是开源和免费的,我不会考虑使用 Halcon IDE,因为它不是。此外,OpenCV 有很多功能,而且改进非常快(我不知道 Halcon)。如果 Halcon 比 OpenCV 好得多(更流行、更快、跨平台,所有 OpenCV 功能都在 Halcon 中实现)并且我的项目有钱,我会使用 Halcon IDE 进行开发,我也会在生产中使用它(并且完全忽略 OpenCV)。在任何一种情况下,我都不会使用将一个转换为另一个的工具。这就像用 Visual Studio 写 Linux 内核,也许有人会这样做,但我想这不是大多数。

如果我不得不花时间在一个开源项目中,我会编写一个更好的 OpenCV 界面(正如 Vladimir Perković 建议的那样)。在这个方向上有一些努力(如果你搜索可能还有其他东西):

于 2018-01-18T10:49:47.157 回答
1

不幸的是,这是不可能的,因为 Halcon 本身不是开源库,并且每个函数都被锁定。

背后的原因是运行时许可。

于 2018-01-17T15:55:03.507 回答
1

这取决于您正在使用哪些 Halcon 功能以及您为什么要这样做。这个问题似乎很笼统。我建议您将您的 Halcon 程序转换为 C++ 并编写一个包装函数来向/从您的 openCV 程序传递参数。这将是提供 opencv 和 halcon 程序之间交互的最简单的选项。希望能帮助到你。

于 2018-01-17T13:58:00.450 回答