[西门子] 机器视觉学halcon好还是opencv好一点?

[复制链接]
查看68269 | 回复0 | 2024-2-3 10:16:00 | 显示全部楼层 |阅读模式

链接:https://www.zhihu.com/question/444576608

编辑:深度学习与计算机视觉

声明:仅做学术分享,侵删

作者:日月
https://www.zhihu.com/question/444576608/answer/1731909068

这个看你能力。你要是算法代码能力一般,halcon作为商业软件库,会让你在工程中解决问题比较方便一点。但是你的拓展空间会被他限制。如果你算法能力强,而且解决问题的时候要创新,opencv会好一些。毕竟源码都在你手里,你随便魔改,优化性能。opencv没有的算法就自己写。不过你自己写稳定性可就不敢保证了,需要大量测试调试反复迭代。不过如果能力强,放在产品里面卖,能帮你降成本。用halcon得给人家交钱。
在产业界,用halcon的一般出于产业链条比较低端的部分。而且机器视觉也受到深度学习的影响。以前halcon在工业界算主打,现在份额在下降。近五年国内出现一大批机器视觉厂商和创业公司,而以前这块基本都是进口。这帮创业公司在产品初期大量使用opencv。不过经过一段时间迭代,已经不止只是调用了,很多商业公司结合硬件在上面优化创新了很多,已经不仅仅事依赖调库了。而且光卖软件库商业模式在国内不好走,很多都是配着硬件一起卖。从就业招聘来说,基本要求是熟悉opencv,halcon是可选项,而且用halcon很多是项目历史遗留问题。你要是之后做视觉别的方向,人家都不用halcon的,但是opencv用的还是挺多的。虽然你进去之后,他们很可能自己都有一套内部用的算法库。但是商业公司有没法要求应聘者熟悉他们内部库吧。所以都会贴opencv。而且很多内部开发也参考了opencv的架构。至于有人说opencv算法效果的问题,实际上opencv的确并不是专门为机器视觉行业打造的。所以一些算法没有做特定优化。我这里的优化既包括在特定处理器上运算速度的优化,也包括解决问题特定算法的优化。所以我前面说的要强调算法能力。得查论文做实验做改进,甚至自己设计算法做技术积累沉淀的。而不是把它当做一个库仅仅调用接口,换句话说在企业你们做自己的halcon,这其实也体现了中国新一代人研发能力有所进步

作者:知乎用户https://www.zhihu.com/question/444576608/answer/1778682377

如果在学校里,几乎所有人都会推荐OpenCV

但如果你去工作,会发现10个岗位中,有6个是用Halcon,3个用Vison Pro,只有1个是OpenCV。

因为工作中的项目,大部分是对接C#,而不是C++。

作者:可乐不加冰https://www.zhihu.com/question/444576608/answer/1745274120

如果想快速入手机器视觉,肯定是Halcon,各种好用的算子。如果自己想深入研究底层原理,还是好好学习opencv。当然也可以同步进行,学opencv的同时也对你的编程能力会有所帮助。

作者:仿佛若有光
https://www.zhihu.com/question/444576608/answer/1731526000

工业上基本都是用halcon,这个是需要付费的商业软件包,功能十分强大,从普通图像处理,三维视觉处理,各种工业化自动检测。平常自己搞些小事情一般用opencv,主要原因是开源免费,资料多。

从个人经验来看,搞开发的核心能力不在于用什么框架,用什么软件包,而是针对具体任务、具体工作所具备的分析问题,提出方案,根据效果改进方案,最终达到符合要求的能力。至于软件包或者说框架,那只是一个实现的问题,当方案有了,自然就会知道用哪个框架实现更简单更节省成本更符合要求。对学生来说,学个opencv更方便,资料又多。然则,学完后多做项目,积累分析问题,解决具体问题的经验才是正途。即便日后就业的公司是用halcon,能力仍然在那,凭借opencv的开发经验,再学一个halcon会非常快,在拿到offer后再学完全来得及。顺便吐槽一下opencv,太理想化了,很多函数在教程中给出的例子看起来效果非常好,但在具体任务中一用就傻眼了。因此它需要你自己去做一些额外的方案改进,这种理想化的缺陷对于想要锻炼项目能力的人来说还是可以的。

☆ END ☆如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 mthler」,每日朋友圈更新一篇高质量博文。↓扫描二维码添加小编↓

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则