最近一直在使用机器人与上位机进行视觉抓取技术的调试,对C#也稍有了解,就这样我开始接触到了HALCON.
HALCON是德国MVtec公司开发的一套完善的标准的机器视觉算法包,拥有应用广泛的机器视觉集成开发环境。它节约了产品成本,缩短了软件开发周期——HALCON灵活的架构便于机器视觉,医学图像和图像分析应用的快速开发。在欧洲以及日本的工业界已经是公认具有最佳效能的Machine Vision软件。
HALC++ON支持Windows,Linux和Mac OS X操作环境,它保证了投资的有效性。整个函数库可以用C,C++,C#,Visual basic和Delphi等多种普通编程语言访问。HALCON为大量的图像获取设备提供接口,保证了硬件的独立性。它为百余种工业相机和图像采集卡提供接口,包括GenlCam,GigE和IIDC1394。
强大的三维视觉处理
HALCON 11提供的一个极为突出的新技术是三维表面比较,即将一个三维物体的表面形状测量结果与预期形状进行比较。HALCON提供的所有三维技术,如多目立体视觉或sheet of light,都可用于表面重构;同时也支持直接通过现成的三维硬件扫描仪进行三维重构。
此外,针对表面检测中的特殊应用对光度立体视觉方法进行了改善。不仅如此,HALCON现在还支持许多三维目标处理的方法,如点云的计算和三角测量、形状和体积等特征计算、通过切面进行点云分割等。
高速机器视觉体验
自动算子并行处理 (AOP) 技术是HALCON的一个独特性能。HALCON 11中支持使用GPU处理进行机器视觉算法的算子超过75个,比其他任何软件开发包提供的数量都多。除此之外,基于聚焦变化的深度图像获取 (depth from focus)、快速傅立叶变换 (FFT) 和HALCON的局部变形匹配都有显著的加速。HALCON 11会带给用户更高速的机器视觉体验。
让您选择HALCON出于以下3点理由:
1.为了让使用者能在最短的时间里开发出视觉系统,HALCON包含了一套交互式的程序设计界面HDevelop,可在其中以HALCON程序代码直接撰写,修 改,执行程序,并且可以查看计算过程中的所有变量,设计完成后,可以直接输出C、C++、VB、C#、vb等程序代码,套入您的程序中。
HDevelop同时和数百个范例程序链接,除了个别计算功能的说明,您也可以随时依据不同的类别找到应用的范例,方便参考。此外,以问题为导向的手册, 可以让您找到最适切的使用说明以及作业观念。
2.HALCON不限制取像设备,可以自行挑选合适的设备。原厂已提供了60 余种相机的驱动链接,即使是尚未支持的相机,除了可以透过指标(pointer)轻易的抓取影像,还可以利用HALCON开放性的架构,自行撰写DLL文件和系统连接。
3.使用HALCON,在设计人机接口时没有特别的限制,也不必特别的可视化组件,您可以完全使用开发环境下的程序语言,例如visual studio、.NET、Mono等等,架构自己的接口,end user看不到您的开发工具,而且在执行作业的机器上,只需要很小的资源套件。
在产业界,用halcon的一般出于产业链条比较低端的部分。而且机器视觉也受到深度学习的影响。以前halcon在工业界算主打,现在份额在下降。近五年国内出现一大批机器视觉厂商和创业公司,而以前这块基本都是进口。这帮创业公司在产品初期大量使用opencv。
不过经过一段时间迭代,已经不止只是调用了,很多商业公司结合硬件在上面优化创新了很多,已经不仅仅事依赖调库了。而且光卖软件库商业模式在国内不好走,很多都是配着硬件一起卖。从就业招聘来说,基本要求是熟悉opencv,halcon是可选项,而且用halcon很多是项目历史遗留问题。
你要是之后做视觉别的方向,人家都不用halcon的,但是opencv用的还是挺多的。虽然你进去之后,他们很可能自己都有一套内部用的算法库。但是商业公司有没法要求应聘者熟悉他们内部库吧。所以都会贴opencv。而且很多内部开发也参考了opencv的架构。
至于有人说opencv算法效果的问题,实际上opencv的确并不是专门为机器视觉行业打造的。所以一些算法没有做特定优化。我这里的优化既包括在特定处理器上运算速度的优化,也包括解决问题特定算法的优化。
所以我前面说的要强调算法能力。得查论文做实验做改进,甚至自己设计算法做技术积累沉淀的。而不是把它当做一个库仅仅调用接口,换句话说在企业你们做自己的halcon,这其实也体现了中国新一代人研发能力有所进步
编辑:jq
暂无评论哦,快来评论一下吧!