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

Halcon图层与常用绘图函数

Halcon的绘图函数,与传统编程vb、c、delphi语言完全不同,

传统编程语言,甚至cad,绘图都是直接采用line、circle函数。

Halcon,作为专业的图像处理系统,采用的是类似ps的图层、蒙版,并导入了domain(领域)的概念。

这样设计,非常专业,高效,当然,也比较复杂。

实际图像工程中,往往是结合THImagex、THWindowX(通过THOperatorSetX控件)一起使用。

此外,Halcon图像体系当中,line、circle、point,点、线、圆、矩形等等,这些基本绘图要素,都是类似对象(class、object)的模式,需要先生成,再disp到THWindowX绘图窗口。

第三点,Halcon的line、circle、point对象变量,保存的是绘图单元object,最基本的元数据,例如:坐标、尺寸,而颜色,线条粗细,往往在实际生成时,再决定。

因此,同一个object,在程序不同的地方,最终的颜色,效果是有所不同的,例如:

参见以下源码:

cir:=THRegionX.create(nil);

cir.genCircle(200,200,100);

xwin.SetLineWidth(8);xwin.SetColor('blue');

cir.DispObj(xwin);

cimg:=xwin.DumpWindowImage;cimg.WriteImage('png',0,'tmp\w01.png');

xwin.SetLineWidth(2);xwin.SetColor('red');

cir.DispObj(xwin);

cimg:=xwin.DumpWindowImage;cimg.WriteImage('png',0,'tmp\w02.png');

同样一个cir对象,同样的位置,因为先后的笔画粗细、颜色不同,而最终表现不同。

第4点,Halcon的line、circle、point等基本绘图语句,颜色。笔画等参数,由THWindowX决定,类似全局变量,而不是绘图语句本身。

第5点,最终的绘图效果,需要用THWindowX控件的DumpWindowImage、或DumpWindow函数,合并到一个IHImageX类型的图像变量,类似ps的合并可见图层,再保存到图像文件,或者转换成其他图像格式,进行后续处理。

注意,变量类型必须是IHImageX类型,THImageX、IHUntypedObjectX;类型都不行

这点很奇怪,Halcon脚本自身,是无需定义变量的,类似python,而二次开发,对于变量的匹配非常严格,象这里,会有OleVariant、Variant也不能通用;

变量类型,自动匹配、容错匹配,是现代编程语言的趋势,而Halcon,在二次开发接口当中,依然采用严格的强类型匹配,除了德国人的严谨外,可能因为图像系统的复杂性,和第三方开发时的种种不确定因素。

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

delphi和python和halcon_【《zw版·Halcon与delphi系列原创教程》Halcon图层与常用绘图函数...相关推荐

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

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

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

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

  3. 《zw版·ddelphi与halcon系列原创教程》Halcon的短板与delphi

    [<zw版·delphi与Halcon系列原创教程> Halcon的短板与delphi 看过<delphi与Halcon系列>blog的网友都知道,笔者对Halcon一直是非常 ...

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

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

  5. zw版_Halcon图像库delphi接口文件

    zw版_Halcon图像库delphi接口文件 Halcon图像库delphi接口文件,根据安装时用户设置的文件目录不同,会有所差异,笔者一般安装在delphi的import目录下.      参见: ...

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

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

  7. 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数011,ocr,字符识别

    <zw版·Halcon-delphi系列原创教程> Halcon分类函数011,ocr,字符识别 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号"**&q ...

  8. 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数015,vector矢量

    <zw版·Halcon-delphi系列原创教程> Halcon分类函数015,vector矢量 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号"**&q ...

  9. 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数013,shape模型

    <zw版·Halcon-delphi系列原创教程> Halcon分类函数013,shape模型 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号"**&qu ...

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

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

最新文章

  1. java集合 stack_Java集合之Stack
  2. 0.0 目录-深度学习第五课《序列模型》-Stanford吴恩达教授
  3. Javascript 事件冒泡处理
  4. 计算机网络第七版1-3
  5. GET和POST请求的区别详解
  6. 法学生民法方面的论文选题,有什么推荐吗?
  7. Python检验多重共线性
  8. 与商业经济有关的英语电影推荐:商学院学生必看的20部电影(图文)
  9. android全平台编译libjpeg-turbo并基于ANativeWindow加载JPEG图片
  10. Java_计算机基础知识
  11. leetcode(力扣) 39. 组合总和(回溯 剪枝)
  12. 微信关键字自动回复功能实现
  13. 安卓手机的adb命令
  14. 奥维奥:新零售真的只有资本才玩的起吗?
  15. 数字规律问题--面试题43、44、45、62
  16. 时间组件关于禁选时间的设置(禁选当前之前的时间、禁止选择某个范围之外的时间等)
  17. java基础语法-循环switch语句
  18. Mali系列GPU里的AFBC+ASTC到底是什么
  19. 亚马逊测评技术IP详解篇
  20. plsql forall 详解

热门文章

  1. Java学习个人备忘录之文档注释
  2. 另类多线程生产者与消费者模式
  3. Python学习-9.Python函数定义
  4. 关于 Profile
  5. Html与JS正则表达式测试代码
  6. python钓鱼评论爬取
  7. 【LeetCode】【数组】题号:*665,非递减数列
  8. sort()函数——C++
  9. 异常值检测——绝对中位差MAD(median absolute deviation )
  10. 如何下载并使用别人写的库——jupyter notebook