首页 > 其他分享 >Halcon区域集合运算及变换

Halcon区域集合运算及变换

时间:2023-04-19 14:34:53浏览次数:36  
标签:输出 运算 示例 变换 Halcon 对象 区域 算子 输入

  集合运算

             将多个区域连接为一个区域:union1

              算子:union1(Region : RegionUnion : : )

              示例:union1 (ConnectedRegions, RegionUnion)

                     ConnectedRegions(输入对象):输入多个区域

RegionUnion(输出对象):输出一个整体的区域

 

             将两个区域连接为一个区域:union2

算子:union2(Region1, Region2 : RegionUnion : : )

示例:union2 (ObjectSelected1, ObjectSelected2, RegionUnion1)

ObjectSelected1(输入对象):输入第一个区域对象

ObjectSelected2(输入对象):输入第二个区域对象

RegionUnion1(输出对象):输出合并的区域对象

 

 

两个区域相减:difference

算子:difference(RegionSub : RegionDifference : : )

示例:difference (RegionUnion, ObjectSelected1, RegionDifference)

RegionUnion(输入对象):输入大的区域对象

ObjectSelected1(输入对象):输入小的区域对象

RegionDifference(输出对象):输出大的区域减去小的区域对象的区域

 

两个区域的交集:intersection

算子:

intersection(Region1Region2 : RegionIntersection : : )

示例:intersection (Rectangle, Rectangle1, RegionIntersection)

Rectangle(输入对象):输入第一个区域对象

Rectangle1(输入对象):输入第二个区域对象

              RegionIntersection(输出对象):输出两个区域相交的区域对象

 

        区域变换

             断开不相连的区域:connection

              算子:connection(Region : ConnectedRegions : : )

              示例:connection (Region1, ConnectedRegions)

                     Region1(输入对象):输入一个连成一块的对象

ConnectedRegions(输出对象):输出断开不相连的各个区域

 

           区域填充:fill_up

              算子:fill_up(Region : RegionFillUp : : )

              示例:fill_up (Region, RegionFillUp)

                     Region(输入对象):输入需要填充的对象

                     RegionFillUp(输出对象):输出填充好的区域对象

              抠图:reduce_domain

                 算子:reduce_domain(ImageRegion : ImageReduced : : )

示例:reduce_domain (GrayImage, RegionFillUp, ImageReduced)

GrayImage(输入对象):输入灰度图对象

RegionFillUp(输入对象):输入二值化区域

ImageReduced(输出对象):输出灰度图图像

 

              区域变换为矩形或者是圆 内接或者是外接 参数控制shape_tran

              算子:shape_trans(Region : RegionTrans : Type : )

              示例:shape_trans (ObjectSelected1, RegionTrans, 'rectangle1')

                     ObjectSelected1(输入对象):输入一个区域对象

                     RegionTrans(输出对象):输出变换后的区域对象

'rectangle1'(输入控制参数):输入需要变换成什么类型 内接外接矩形 内接外接圆等等

 

              求取区域骨架:skeleton

              算子:skeleton(Region : Skeleton : : )

              示例:skeleton (RegionTrans, Skeleton)

                     RegionTrans(输入对象):输入一个区域对象

Skeleton(输出对象):输出这个区域的骨架  骨架是由单个像素连接起来的

 

              对多个区域进行排序:sort_region

算子:sort_region(Regions : SortedRegions : SortModeOrderRowOrCol : )

              示例:sort_region (SelectedRegions, SortedRegions, 'first_point', 'true', 'column')

                     SelectedRegions(输入对象):输入多个区域

                     SortedRegions(输出对象):输出排序后的多个区域

                     'first_point'(输入控制参数类型):排序模式

                     'true'(输入控制参数顺序):是否是按顺序

 'column'(输入控制参数方向):low是从上到下 column是从左到右排序 方向选择

 

              对多个队形进行数数:count_obj

              算子:count_obj(Objects : : : Number)

              示例:count_obj (SortedRegions, Number)

                     SortedRegions(输入对象):输入多个区域对象

Number(输出控制参数):输出区域的个数

标签:输出,运算,示例,变换,Halcon,对象,区域,算子,输入
From: https://www.cnblogs.com/ksjqsj/p/17333195.html

相关文章

  • Halcon形态学处理初级
    开运算opening以输入的参数形成的区域为基准,对目标区域进行模拟放置,能将参数形成的区域填满的保留,填不满开掉去除先腐蚀后膨胀作用祛杂点扩展链接:https://blog.csdn.net/qq_31671139/article/details/113184854             算子:opening_rectangle1(Region :......
  • 快速幂结合取模运算
    先贴一个快速幂模板longlongintquik_power(intbase,intpower){longlongintresult=1;while(power>0)//指数大于0进行指数折半,底数变其平方的操作{if(power&1)//指数为奇数,power&1这相当于power%2==1......
  • 结对编程——随机生成四则运算程序
    在本次结对编程中,我和2152634王锴中同学一同进行参与了随机生成四则运算题目程序的编写,本次编写环境在clion上,使用c++风格的代码完成编写。在编写的过程中,我们一同探讨了用哪种语言进行编译,最终选定c++,原因在于对c++的掌握程度更深。在一起完成此项目的同时,我们收获了很多,尤其对方......
  • Java运算符——(带符号右移)>>、(无符号右移)>>>、与(&)
    >>表示带符号右移,如:inti=15;i>>2的结果是3,移出的部分将被抛弃。转为二进制的形式可能更好理解,00001111(15)右移2位的结果是00000011(3),00011010(18)右移3位的结果是00000011(3)。>>>无符号右移:按二进制形式把所有的数字向右移动对应巍峨位数,低位移出(舍弃),高位的空位补零。对于......
  • C++重载的奥义之运算符重载
    0、引言        重载,顾名思义从字面上理解就是重复装载,打一个不恰当的比方,你可以用一个篮子装蔬菜,也可以装水果或者其它,使用的是同一个篮子,但是可以用篮子重复装载的东西不一样。        正如在之前的文章《重载的奥义之函数重载》中介绍的类似,函数的重载是指利......
  • Pythonic魔法——运算符
    在Python中,运算符是一种用于对操作数进行操作的特殊符号或函数。Python支持多种运算符,包括算术运算符、比较运算符、赋值运算符、逻辑运算符、位运算符、成员运算符和身份运算符等。算术运算符算术运算符是用于进行数学运算的运算符。Python中的算术运算符包括加法、减法、乘法......
  • 结对编程——300道小学四则运算
    本次结对编程作业由我和2152620同学使用c++语言共同完成。代码如下:#include<iomanip>#include<iostream>#include<ctime>#include<cstdlib>usingnamespacestd;intnum1[300];intnum2[300];intop[300];intanswer[300];intreal[300];voidsrand(unsigne......
  • C++重载的奥义之运算符重载
    0、引言        重载,顾名思义从字面上理解就是重复装载,打一个不恰当的比方,你可以用一个篮子装蔬菜,也可以装水果或者其它,使用的是同一个篮子,但是可以用篮子重复装载的东西不一样。        正如在之前的文章《重载的奥义之函数重载》中介绍的类似,函数的重载是指利......
  • 基于小波变换的数据峰值检测matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:    2.算法涉及理论知识概要        小波变换(wavelettransform,WT)是一种新的变换分析方法,它继承和发展了短时傅立叶变换局部化的思想,同时又克服了窗口大小不随频率变化等缺点,能够提供一个随频率改变的“时间-频率”窗......
  • 小波变换原理简要实现和分析
    傅里叶变换是频谱分析的重要工具,适用于周期性平稳信号,但是对于非平稳信号而言,效果较差。其实质是卷积求正弦波相关性,由于正弦波不是能量有限信号,对无差别做一个全部卷积,算出来的结果不考虑时间。小波变换也是频谱分析的重要工具,基函数为能量有限信号,也可以进行时域分析。针对不......