一、语法 字符 数字格式化
等号: :=
不等号: #
注释符: *
字符串赋值: str:=’halcon’
等于比较符: if(X=10)
与: if(A>1 and A<30)
或: if(A>1 or A<30)
求反: if(not(A=10))
For 循环
for I := 0 to NumBalls - 1 by 1
endfor
While 循环
while (x== 1)
Endwhile
异常获取:
Try
catch (Exception)
Endtry
Switch多分支:
switch (Index)
case 1:
break
case 2:
break
case 3:
break
default:
break
endswitch
1.字符
i1 := 123$'#o':8进制,0为前缀,将数字抓化为对应的进制('0173')
i2 := 123$'#x':16进制,0x或0X为前缀,7b或7B为123的16进制所代表的数字('0x7b')
i4 := 123$'f':浮点类型 默认保留小数点后六位('123.000000')
i5 := 123$'#g或#G':保留六位数字,如果没有超过后面会跟上.000('g\G:123.000')
i7 := 123$'#e或#E':转换为科学技术法('1.230000e+002','1.230000E+002')
2.整数
d1 := 123$'6':小于六位时 文本右对齐 大于不影响(' 123')
d2 := 123$'-6':小于六位时 文本左对齐 大于不影响('123 ')
d3 := 123$'.6':小于六位时 在左边补0 大于不影响('000123')
d4 := 123$'10.5':小于10位时 文本右对齐 小于5位时在左边补0 大于不影响(' 00123')
3.文本
s1 := 'dear'$'10':小于10位时 文本右对齐 大于不影响(' dear')
s2 := 'dear'$'-5':小于五位时 文本左对齐 大于不影响('dear ')
二、Halcon语法 Tuple数组
T1 := [0,1,2,3,4,5,6]:将一个Tuple数组赋值给变量()
T1[10] := 5:给Tuple数组元素赋值 或 修改数组元素 如果数组长度没有到索引的长度 自动补0([0, 'a', 2, 'b', 4, 'c', 6,0, 0, 0, 5])
T1[1,3,5] := 'abc'或T1[1,3,5] := ['a','b','c']:批量修改数组的值()
T2 := [0:1000]:批量给数组赋值 其值为0到1000连续数值
([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24....])
T3 := [3:2:200]:批量给数组赋值 其值为3到200连续数字 步长为2([3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29,31, 33, 35, 37, 39, 41, 43, 45, 47,...])
T4 := [100:-10:-100]:批量给数组赋值 其值为100到-100连续数字 步长为-10([100,90, 80,70, 60,50, 40, 30,20, 10,0,-10, -20, -30, -40, -50, -60, -70, -80, -90,...])
tuple_union:合并数组 重复的自动清除 从小到大排序
tuple_intersection:获取两个数组交集的部分(获取两个数组相同的元素)
tuple_replace(T5, [0,1], ['x','y'], Replaced):替换数组元素 将数组的第0,1个元素 替换为x y 不改变原数组
tuple_insert:向数组中插入数值
三、图像分割之地形学操作
gauss_filter:高斯滤波。目的是定位了清除图像上的噪点。
invert_image:图像反转
watersheds:从图像中提取分水岭和盆地。
(第一个参数:要提取盆地分数领的图像。第二个参数:提取的盆地。第三个参数:提取的分水岭)
四、auto_threshold自动阈值
auto_threshold:自动阈值分割。根据图像的灰度值方图来确定阈值的,4为高斯滤波核,用于直方图平滑。(灰度直方图:将数字图像中的所有像素按照灰度值的大小,统计出来的频率。)
五、char_threshold字符提取
char_threshold:阈值分割。提取字符,主要应用于明亮的纸上分割黑色字符图像
(第一个参数:图像。
第二个参数:计算的直方图区域。
第三个参数:分割后的区域。
第四个参数:直方图的高斯平滑的Sigma 目的是去除噪点,增强图像在不同比例下大小图像差异
第五个参数:灰度值差异的百分比。
第六个参数:计算出的阈值)
六、dual_thershold图像分割。
convert_image_type:将第一个图像baty类型转化为int2类型。
sub_image:将两个图像相减得到一张新图。
dual_threshold:将符号的图像分割为正负两个区域。
(第一个参数:图像
第二个参数:分割后的区域
第三个参数:最小区域大小
第四个参数:最小的灰度值大小
第五个参数:阈值)
七、dyn_threshold局部阈值
mean_image:均值滤波,图像滤波 即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制。(图像噪声:指存在于图像数据中不必要的或多余的干扰信息,噪声的存在严重影响了图像的质量。对图像进行滤波,目的是为了清除图像噪点,但是可能会造成图像上边界的模糊)
dyn_threshold:使用本地阈值分割图像。
八、local_threshold局部阈值
local_threshold基于局部平均和标准偏差的局部自适应,使用场景适合不均与的照明条件或噪点。
(参数一:输入图像
参数二:分割后的区域
参数三:分割的方法
参数四:提取前景还是背景
参数五:参数名
参数六:参数值)
九、var_threshold局部阈值
var_threshold:通过局部阈值和标准偏差进行阈值图像,使用场景不均匀的照明条件或噪声的图像。
(参数一:输入图像
参数二:分割后的区域
参数三:均值和标准差得掩码宽度
参数四:均值和标准差得掩码高度
参数五:标准因子
参数六:最小灰度值和均值偏差
参数七:提取暗的区域还是量亮的区域,或相似的区域,不相似的区域)