Halcon和Opencv 的区别

文摘   2024-11-09 21:20   江苏  



OpenCV

Halcon

开发语言

C++、C#(emgu)、Python、Ruby、MATLAB等语言

C,C++,C#,Visual basic和Delphi等语言

应用场合

侧重计算机视觉领域,侧重研究领域

侧重机器视觉领域,侧重应用领域

费用

免费

收费

开放性及版本更新速度

开源(可看底层源码),版本和功能更新慢

商业软件(底层代码封装),版本和功能更新快

对使用者的门槛

偏科研,有难度,有深度,完全从底层开发,对使用者门槛高,开发效率低,开发慢

偏工程应用,使用封装好的功能函数,对使用者门槛低,开发效率高,开发快

资料及技术支持

资料少。遇到问题,难以获得技术支持

资料多。遇到问题,可以及时、有效的获得技术支持


Halcon:在工业视觉领域属于经常使用的软件,相对于opencv的开源精神Halcon属于商业非开源项目并且收费。Halcon起源于德国在国内的工业视觉领域市场占用率遥遥领先。作者在使用halcon的过程中也感受了其软件的人性化,有独立的调试编程环境。对应主流的语言C#、C++、VB等工业上常用的语言都能提供流程的调用。


Halcon提供的每一年都有升级,在升级的过程中算子的速度更快能达到汇编级别的加速度,对比opencv在总体的算子性能领先程序在五到十年。与此同时Opencv在调试的过程中没有Halcon方便,opencv的使用需要用户有比较好的编程基础,并且图像并不是实时能够观察调整。

 

Opencv:计算机图像方面的图像库,开源的,可以用于商用,在很多高校和科研机构使用比较多,更多的人选择它,是为了写自己的算法,其调试不像Halcon那样方便,其项目开发周期也比Halcon要长,所以在工业应用上,还不是太多。

 

所以,如果你是搞算法的,并且项目周期长,公司不愿意购买/使用商业视觉软件的,可以考虑Opencv;如果你的项目周期短,公司可以承受商业软件的成本,选择Halcon会是比较明智的选择。


Halcon:底层功能算法多,运算性能快,开发需要一定软件功底和图像处理理论。快速学习的做法:研究实例、做实战项目。halcon不能提供相应的界面编程需求,需要和vs来构造界面,才能构成一套完整软件。


目前视觉检测需求主要有二维三维


二维:(1)识别定位;

          (2)OCR识别;

          (3)二维码识别;

          (4)测量;

          (5)缺陷检测;


三维:(1)多目标定

          (2)三维重建

          (3)三维匹配等


本文仅做学术分享,如有侵权,请联系删文。


新机器视觉
一个值得关注的AI视觉技术公众号,主要涉及人工智能领域机器视觉、计算机视觉、机器学习、深度学习等前沿知识干货和资源!致力于为您提供切实可行的AI学习线路。
 最新文章