首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Halcon代码迁移到OpenCV

将Halcon代码迁移到OpenCV
EN

Stack Overflow用户
提问于 2018-01-10 13:51:17
回答 3查看 5.4K关注 0票数 1

我正在开发一种使用商业计算机视觉软件Halcon的解决方案。我正在考虑用Python迁移或将我的解决方案转换为OpenCV。我想开始在Halcon中开发我的另一个计算机视觉解决方案,因为IDE是难以置信的,他们生成一个脚本来将它们迁移到OpenCV。

有人知道这个任务的库吗?

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-01-18 10:49:47

我不会把时间花在这样的努力上。以下是一些原因:

  • 对于简单的函数(模糊函数、腐蚀函数、扩展函数),Halcon和OpenCV对相同的函数有不同的实现,并且可能会有稍微不同的输出(例如,一个可以舍入,另一个可以向下循环)。在Halcon中正确运行的复杂程序在OpenCV中可能会因为这些小差异而失败(蝴蝶效应)。
  • 可能有一些复杂的函数(模式匹配算法、深度学习),它们存在于一个环境中,而在另一个环境中不存在。
  • OpenCV用户通常没有Halcon。我喜欢OpenCV,因为它是开源的和免费的,我不会考虑使用Halcon,因为它不是。此外,OpenCV有许多功能,而且它改进得很快(我不知道Halcon)。如果Halcon比OpenCV好得多(更流行,更快,跨平台,所有的OpenCV函数都用Halcon实现),而且我的项目有钱,我会使用Halcon进行开发,我也会在生产中使用它(完全忽略OpenCV)。在任何一种情况下,我都不会使用将其中一种转换为另一种的工具。这就像用Visual编写Linux内核一样,也许有人会这么做,但我想它并不是大多数。

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

  • 交互式可视化调试:introduction.html --我还没有尝试过,但我在过去已经编写和使用过类似的工具,而且通常已经足够了。
  • 在Visual中调试图像:watch.html
  • 有一天,我真正想看到的是一个可视化程序设计语言编辑器,您可以在其中拖放并连接它们(就像在流程图中)。类似于LabVIEW,VPL,但开放源码和OpenCV。
代码语言:javascript
复制
- It looks like the future (or the present) is web based, and there are many flowchart programming tools that are open source like [Node-Red](https://nodered.org/), [No-Flo UI](https://github.com/noflo/noflo-ui) or [Apache NiFi](https://nifi.apache.org/). Probably you can modify them to use OpenCV functions (a quick search returns [this](https://github.com/jdye64/nifi-opencv) and [this](https://www.npmjs.com/package/node-red-contrib-opencv))
- [Blender](https://www.blender.org/) is a 3D editor (with a video editor and many other features) that you can program in python and also has a flowchart programming language ("Compositing Nodes"). I don't see a better place to integrate OpenCV!

票数 4
EN

Stack Overflow用户

发布于 2018-01-17 13:58:00

这取决于您正在使用的Halcon功能以及您想要这样做的原因。这个问题似乎很笼统。我建议您将您的Halcon程序转换为C++,并编写一个包装函数,将参数传递给/从您的openCV program.This,这将是在您的opencv和halcon程序之间提供交互的最简单的选择。希望能帮上忙。

票数 2
EN

Stack Overflow用户

发布于 2018-01-17 15:55:03

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48188940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档