HALCON中存在两类基本变量:图像变量(iconic data)和控制变量(control data),其中图像变量包括image, region和XLD(extended line description) contours,控制变量包括integers, strings, handles等。
Region:为某些附和要求性质的像素的子集,或者说一些被选择的图块区域s,region大小不受图像限制,类似于游程编码,可用于压缩,
HALCON算子中的四种参数被三个冒号依次隔开:图像输入参数,图像输出参数,控制输入参数,控制输出参数。一个算子中可能不会包含所有的这四种参数,但是参数的次序不会变化。也就是无参数时冒号仍然存在,另外,HALCON中的输入参数不会被算子更改,只被算子使用。
threhold(Image : Region : MinGray, MaxGray : )使用全局阈值分割图片,即二值化;
connection(Region : ConnectedRegions : : )计算整个区域类连接的区域
select_shape(Regions : SelectedRegions : Features, Operation, Min, Max : )根据特征选择区域,即按条件筛选区域
fill_up (SelectedRegions, PlateRegion)填补区域空洞
gen_contour_region_xld(Regions : Contours : Mode : )生成区域轮廓
segment_contours_xld(Contours : ContoursSplit : Mode, SmoothCont, MaxLineDist1, MaxLineDist2 : )将轮廓分割成线圆弧和椭圆弧
regress_contours_xld(Contours : RegressContours : Mode, Iterations : )计算出轮廓的线性回归线参数,
select_contours_xld(Contours : SelectedContours : Feature, Min1, Max1, Min2, Max2 : )根据特征选择轮廓,如果一些特征计算需要与regress_contours_xld配合使用
select_obj(Objects : ObjectSelected : Index : )根据索引取出数组中的某个值
get_contour_xld(Contour : : : Row, Col)获取轮廓的坐标
intersection_lines( : : Line1Row1, Line1Column1, Line1Row2, Line1Column2, Line2Row1, Line2Column1, Line2Row2, Line2Column2 : Row, Column, IsOverlapping)计算两线的交点
distance_pp( : : Row1, Column1, Row2, Column2 : Distance)计算两点的距离
line_orientation( : : RowBegin, ColBegin, RowEnd, ColEnd : Phi)计算线的方向
measure_pos(Image : : MeasureHandle, Sigma, Threshold, Transition, Select : RowEdge, ColumnEdge, Amplitude, Distance)提取出垂直于一个矩形或圆弧的直边,这个矩形或圆弧一般覆盖在这个检测范围,与gen_measure_rectangle2和gen_measure_arc配合使用
erosion_circle(Region : RegionErosion : Radius : )用圆结构体腐蚀一个区域
reduce_domain(Image, Region : ImageReduced : : )缩小图像的范围,输出是图形
edges_sub_pix(Image : Edges : Filter, Alpha, Low, High : )亚像素边缘提取
fit_ellipse_contour_xld 用椭圆和椭圆弧去拟合轮廓