【《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. 解决父类加载iframe,src参数过大导致加载失败

    原文:解决父类加载iframe,src参数过大导致加载失败 <iframe src="*******.do?param=****" id="leftFrame&qu ...

  2. docker:从 tomcat 容器连接到 mysql 容器

    docker 中的容器互联是一个较为复杂的话题,详细内容将在后续章节中介绍. 续前 2 个章节的内容,我们创建了一个 mysql 容器和一个 tomcat 容器,可以使用 「docker ps」来查看 ...

  3. route命令(转)

    Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table).要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或 ...

  4. 如何解决SQLServer占CPU100%

    文章目录 遇到的问题 使用SQLServer Profiler监控数据库 SQL1:查找最新的30条告警事件 SQL2:获取当前的总报警记录数 有哪些SQL语句会导致CPU过高? 查看SQL的查询计划 ...

  5. Java代码中执行Linux命令,亲测可用

    前提需要知道怎么在linux怎么新建java文件和怎么编译,否则请先学其他知识!! import java.io.*;public class Test{ public static void mai ...

  6. 认识C和内存管理

    认识C和内存管理 C程序内存空间分为下面5类: stack栈: 存放着局部变量和函数参数等数据,向下生长 (可读可写可执行) heap堆:  给动态分配内存使用,向上生长 (可读可写可执行) bss ...

  7. MVC项目实践,在三层架构下实现SportsStore-04,实现分页

    SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...

  8. Java开发遇到的问题及解决方案

    一.java.lang.OutOfMemoryError 问题:myeclipse 内存不足,又显示内存溢出等问题怎么回事?( java.lang.OutOfMemoryError: PermGen ...

  9. SpringMVC Map Model ModelMap 和 ModelAndView

    代码: package com.gaussic.controller; import com.gaussic.model.AccountModel; import org.springframewor ...

  10. 第四篇 Integration Services:增量加载-Updating Rows

    本篇文章是Integration Services系列的第四篇,详细内容请参考原文. 回顾增量加载记住,在SSIS增量加载有三个使用案例:1.New rows-add rows to the dest ...