在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
QQ群 247994767(delphi与halcon)
《Halcon与delphi》系列,早两年就想写,不过一方面,因为Halcon是售价高达数万欧元(不是人民币)的专业软件,知道的人不多,
做图像分析有十多年,写过原生的OCR字符识别,当时没有opencv,全部是原生代码,写的很痛苦,和写汇编差不多 实业方面,主要是PCB抄板设计,这个是protel电路图逆向工程,必需的。 图像分析用过:agg、opencv、matlab、cgal、labview、vision、Halcon、sci、pil,以及一大波gis内置的高素质几何计算库 特别是开发效率,几乎只有cv与c++的十分之一一,因为Halcon内置的,就是简化版pascal脚本语言,而且Halcon的控件封装,非常庞大、专业、细致,基本上和原生vcl控件差不多。
Halcon与opencv 机器人,是目前国家鼓励的科技、产业项目,目前程序员缺口极大,而国内早期,和目前,delphi程序员,可能是世界上最多的,早几年,还传说,盛大准备收购delphi,虽然没成,不过绝对不是钱的问题。:)
例如,即使是最简单的轮廓分析,opencv只有最基本的矩形、园、椭圆几种,而Halcon要丰富的多; 再如,形态学内置模型,cv只有cross、rect、circle三种,而Halcon预制模型高达数十种。 象下图的堆砌原件,opencv基本上无能为力,而Halcon直接秒杀:
从上面几张图中,可以清楚看到,Halcon可以轻松地根据预设模型,将不同层面的准3D模式,堆砌的零件,准确切割,并且,对遮挡的图像,进行准确、完整的轮廓补全,这个功能,以及其他类似的功能模块,非常强大、实用,即使是2015.6月,最新发布的cv3.0,也是无法直接处理的。
opencv真的便宜吗ps,10,6日补充 opencv唯一的优势,也许就是free+open 免费开源 不过,opencv真的便宜吗? Halcon很贵,数万欧元的价格。 对于生产流水线而言,哪怕只有1%的生产率提升,这个投入就超值了,更何况,自动化生产线,投资都是以百万、千万计算,相对其他部件而言,Halcon算是廉价的了。 CCTV监控系统,车牌、人脸识别,通常都是采用c/s模式,各个摄像头,只是图像采集节点,所有数据传送到中心服务器,特别是目前互联网+app模式,几个小区的硬件投入,就超过Halcon,而且Halcon对于识别准确率、识别效率以及后期维护的支持,都远超opencv。 有开发商认为,Halcon会增加成本,影响投标的竞争力,个人认为,这个问题的答案:并非绝对。 对于50万以下的项目,Halcon的确不太适合,对于50W以上,特别是百万以上的项目,Halcon绝对是首选。(机器视觉方面的项目,极少有低于百万的) 成本方面,如果采用类似C/S、B/S的网络结构,各个节点只负责采集图像,传送到中心服务器主机,以Halcon的处理能力,通常只需一套主机license授权书,(实时项目除外) 如果是大型、超大型项目,增加几套runtime的license授权书,成本增加也不多。 关键是服务商,给用户提供的是业界最专业、最顶尖的服务,而且是正版服务。 对于政府、上市公司而言,招标项目,必须采购正版软件,这个做过地铁、高铁项目CAD设计、网络建设的公司应该都知道。 对于服务商而言,采用Halcon的另外一个成本优势、竞争优势,在于大幅度缩短了开发周期,降低了维护成本,Halcon的开发周期,通常只有opencv的1/3-1/5。 举个简单的例子,ocr、车牌识别、人脸识别,是目前图像分析的热点, 这些项目,Halcon的核心代码通常才20-30行,而opencv,不管是vc+cv、还是python+cv,至少要上千行。 【参见】 《只有2行代码的超市收款单ocr脚本》http://www.cnblogs.com/ziwang/p/4856854.html 《简单的令人发指,只有10行代码的车牌识别脚本》http://www.cnblogs.com/ziwang/p/4856322.html
目前,图像程序员的平均年薪都在20w,1-2个程序员节省的工资,就把Halcon的成本对冲了。 对于企业而言,opencv虽然是free+open 关键的一击在于:opencv在功能方面,远远落后于Halcon。 opencv通常只能完成Halcon 1/10的功能,即使配合多种第三方软件开发库,最乐观的估计,也不到1/3 就象如今手机、pc、触控一体化的win10时代,你还在使用dos,完全没有竞争力。 这样看来,opencv,真的便宜吗? 航母很贵,核弹更贵, Halcon的确很贵,作为图像开发项目的刀尖,如果能够真正解决问题,相对回报而言,这个价格,真心不算贵。
opencv与Halcon的差距到底有多大
以笔者亲身的体会而言:
ps,需要说明的是,笔者并非故意抨击opencv,实际上,在opencv3.0的测试阶段,国内最早一批,也许是第一套,python3.0-cv3.0的测试脚本,就是笔者用2to3人工转换,并一一进行测试的。cv开源,对于图像教学而言,的确是难得资源,但对于专业的图像应用,特别是商业领域,实在是有些力不从心。
Halcon与delphi Halcon的内置语言,基本上是简化版本的pascal,不过增加了python的元组tuple数据。 至于内存泄露,是crack的问题,就是c++调用Hlacon的com控件,也有内存泄露,而vb,因为使用Halcon的.net封装模块,凭借net平台内置的gc管理,回避了这个问题,其实delphi也可以采用.net模块,现在32G内存才几百元钱,64位系统,20m的内存,即使run一天,也没事情。
delphi、c++、vb、python与图像处理vb即使对于初学者,以及产品开发原型阶段,也是很差的编程工具,更何况复杂的图像开发,机器视觉领域。 初学者,以及简单的产品原型开发,笔者推荐python+opencv,cv3.0已经支持python3了。 c++,无论如何,不是图像分析理想的工具, 图像分析起点就是2D,二维的,复杂一些,连续图像序列,3D,动态图像分析,都是多维的数据模型。 没感觉,看看,*img1,**img2,***img3,&img1,&&img2,&&&img,这些绝对是非人类的设计。 大家知道,图像处理非常吃内存,而c的内存管理,完全是*指针模式,复杂无比。 此外,对于学习者而言,c作为图像处理,最大的问题是入门易,精通难,很多都卡只blur,去噪,以及现有图像库的调用阶段,就无法深入下去, 主要是无法进行深入的图像算法内部分析,即使借助Halcon、opencv这些库,也很难完成。 通常,用c++,一周时间才能完成的软件开发任务,delphi一天就可以完成,真真正正的10x、十倍速效率。 实战当中,delphi+Halcon的组合,要远远优于c+Halcon,c+opencv 重要的话要说三遍,3x delphi+Halcon,图像分析神级配置,分分钟秒杀c+opencv,python+cv,c+matlab,以及其他各种组合 delphi+Halcon,图像分析神级配置,分分钟秒杀c+opencv,python+cv,c+matlab,以及其他各种组合 delphi+Halcon,图像分析神级配置,分分钟秒杀c+opencv,python+cv,c+matlab,以及其他各种组合
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论