【《zw版·delphi与Halcon系列原创教程》
Halcon的短板与delphi

看过《delphi与Halcon系列》blog的网友都知道,笔者对Halcon一直是非常推崇的,简直是天下第一,无所不能。
     的确,Halcon是目前蓝星上最强的图像库,也许某些国家军用卫星的图像库,精度会高一点,这个只能猜测。
     Halcon毕竟只是图像库而已,作为开发平台,与专业的delphi、vs相比,还是有很大差距的。
      有经验的用户,特别是从事二次开发的外包团队,采用Halcon。有时总会有些束手束脚,力不从心的感觉,而且,问题往往不是出现在技术瓶颈,而是一些简单、常用的细节上面。
      Halcon第一定位,始终是图像工程方面,提供一站式解决方案,这点,无疑是行业第一。
      具体而言,作为平台级的图像开发工具,Halcon存在以下问题:

  • :: HDevelop对于用户自定义变量支持很差,赋值只能采用专用的assign函数,不支持左侧等号‘=’模式,做过解释器、编译系统的人都知道,左侧等号‘=’赋值,看起来简单,其实非常复杂繁琐,变化万千。Halcon很聪明,采用了delphi的独特的双字符':=',作为等号,大大简化了内核相关模块的开发。这些,对于偏重于工程定位Halcon,影响不大,不过对于大型图像系统,不仅代码量增加不少,架构设计也复杂很多。
  • :: HDevelop本身对于多个模块、大型的图像应用,支持很差,v12官方Change明确指出,Halcon,对于大型的定义是‘500’行代码。500行?Halcon一个delphi的接口程序,源码就超过7w行,500行显然是无法完成一个复杂系统的。
  • :: Halcon虽然提供了com、net控件,支持c、vb、delphi等二次开发,但对于最简单方便,与内置脚本天生一体的delphi,却支持最差,不仅输出代码,没有delphi格式,连文档、demo方面,都尽量简化,官方貌似只提供了一个Matching示例程序,就万事大吉了。
  • :: bug、调试,非常麻烦,连免费的python都比不上,更不用说专业的delphi、vs了,当然对于500行内的‘一对一’应用模块而言,这些还可以接受。
  • :: 页面窗口布局,类似matlab,当然图像系统,本身布局极其复杂,matlab、ps、cad、maya、blender,3ds,各自不同,不过,Hacon还在采用delphi7时代的多窗口模式,而不是现代的dock设计,这点就有些反人类了,matlab很像在v2010版以前,就改成了dock模式。(附图,是笔者推荐的HDevelop窗口布局)


     不过,Halcon的这些短板,刚好是delphi、c+vs的强项,双方互补性非常强。
     实际工程设计当中,往往把Halcon作为刀锋,处理专业的技术难点、瓶颈,而delphi作为整个系统架构的设计、数据的维护等等。
      所以,delphi与Halcon,的确是图像工程的神级搭配。

【《zw版·delphi与halcon系列原创教程》,网址,cnblogs.com/ziwang/】

《zw版·ddelphi与halcon系列原创教程》Halcon的短板与delphi的更多相关文章

  1. 《zw版·delphi与Halcon系列原创教程》THOperatorSetX版hello,zw

    <zw版·delphi与Halcon系列原创教程>THOperatorSetX版hello,zw 下面介绍v3版的hello,zw. Halcon两大核心控件,THImagex.THOpe ...

  2. 《zw版·delphi与halcon系列原创教程》zw版_THOperatorSetX控件函数列表 v11中文增强版

    <zw版·delphi与halcon系列原创教程>zw版_THOperatorSetX控件函数列表v11中文增强版 Halcon虽然庞大,光HALCONXLib_TLB.pas文件,源码就 ...

  3. 《zw版·delphi与halcon系列原创教程》zw版_THImagex控件函数列表

    <zw版·delphi与halcon系列原创教程>zw版_THImagex控件函数列表 Halcon虽然庞大,光HALCONXLib_TLB.pas文件,源码就要7w多行,但核心控件就是两 ...

  4. 《zw版·delphi与halcon系列原创教程》hello,zw

    <zw版·delphi与halcon系列原创教程>hello,zw 按惯例,第一个程序是‘hello’ 毕竟,Halcon是专业的图像库,所以我们就不用纯文本版的,来一个专业版.Halco ...

  5. 【《zw版·Halcon与delphi系列原创教程》Halcon图层与常用绘图函数

    [<zw版·Halcon与delphi系列原创教程>Halcon图层与常用绘图函数 Halcon的绘图函数,与传统编程vb.c.delphi语言完全不同,     传统编程语言,甚至cad ...

  6. 《zw版Halcon与delphi系列原创教程》发布说明

    <zw版Halcon与delphi系列原创教程>发布说明 zw转载的<台湾nvp系列halcon-delphi教程>,虽然很多,不过基本上都是从cnc.数控角度的demo..  ...

  7. 【《zw版·Halcon与delphi系列原创教程》 zw_halcon人脸识别

    [<zw版·Halcon与delphi系列原创教程>zw_halcon人脸识别 经常有用户问,halcon人脸识别方面的问题. 可能是cv在人脸识别.车牌识别方面的投入太多了. 其实,人脸 ...

  8. 《zw版·Halcon-delphi系列原创教程》 zw版-Halcon常用函数Top100中文速查手册

    <zw版·Halcon-delphi系列原创教程> zw版-Halcon常用函数Top100中文速查手册 Halcon函数库非常庞大,v11版有1900多个算子(函数). 这个Top版,对 ...

  9. 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数017·point点函数

    <zw版·Halcon-delphi系列原创教程> Halcon分类函数017·point点函数 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号“**”,替换:“p ...

随机推荐

  1. mysql基本sql语句大全(提升用语篇)

    1.说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1<>1(仅用于SQlServer) 法二:s ...

  2. iis7.5应用程序池模板永久性缓存初始化失败解决方法

    错误: 针对应用程序池的模板永久性缓存初始化失败,这是由以下错误导致的: 无法为应用程序池创建磁盘缓存子目录.数据可能包含其他错误代码. 解决办法如下: 网上搜索的答案全都是修改3个目录的权限,给II ...

  3. iOS 开发进程与线程

    进程(process)是一块包含了某些资源的内存区域.操作系统利用进程把它的工作划分为一些功能单元.进程中所包含的一个或多个执行单元称为线程(thread).进程还拥有一个私有的虚拟地址空间,该空间仅 ...

  4. C语言:其他进制转换为十进制(方法二)

    #include<stdio.h> #include<math.h> #include<string.h> #include<ctype.h> //其他 ...

  5. Android 对Map按key和value分别排序

    一.理论准备 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. TreeMap:基于红黑树(Red-Black tre ...

  6. python模块(os)

    os模块 os模块提供了许多与操作系统交互的接口 os.getcwd() -> str # 返回当前路径, 相当于pwd os.chdir("dirname") -> ...

  7. python_列表

    1.  列表的定义 (1) 用[]包含的元素,就是列表 (2)可以用list函数定义列表 2.  基本的列表操作(可参考示例) (1)元素赋值 (2)删除元素 (3)分片赋值 3. 列表方法 (1) ...

  8. 查看python的路径

    >>> import sys >>> sys.path

  9. iOS支付后默认关注公众号

    1.这个是微信内部的功能,不对外公开,需要商务洽谈.跟技术无关. 2.同时金额少于1块的也不会有提示关注显示. 3.关注过的不会默认再次关注,但是仍然有选项可以选择.

  10. DG - logical standby switchover切换过程

    从11g起,主库和逻辑备库之间切换不再需要关闭任何数据库实例. 1.检查主数据库是否处于考虑切换状态 SQL> select switchover_status from v$database; ...