Halcon算子

仅个人理解,如有错漏,敬请指正。

1.select_shape(Regions : SelectedRegions : Features,Operation,Min,Max : ),形态学筛选算子,Features为形态学名称选择(可多选),Operation为输出选择(“and”输出每一个合格的,“or”输出最后一个合格的,each (Operation = 'and') or at least one (Operation = 'or') )

2.set_origin_pose( : : PoseIn,DX,DY,DZ :PoseNewOrigin),转换原点位置函数,默认原点为图片左上角,显示图片时将原点放在左上角显示,计算方式为

                                   / 1 0 0  DX \

 PoseNewOrigin   =  PoseIn  *  |  0 1 0  DY |
                               |  0 0 1  DZ |
                                \ 0 0 0  1 /

   DX、DY、DZ为目标点距离

3. gen_image_to_world_plane_map( : Map :CameraParam,WorldPose,WidthIn,HeightIn,WidthMapped,HeightMapped,Scale,MapType : ),Scale为图片缩放参数,标定后图片单位为实际尺寸,转换时需要参考尺寸,也可用于控制图像大小。

4.points_harris(Image : : SigmaGrad,SigmaSmooth,Alpha,Threshold :Row,Column)

5.proj_match_points_ransac(Image1,Image2 : :Rows1,Cols1,Rows2,Cols2,GrayMatchMethod,MaskSize,RowMove,ColMove,RowTolerance,ColTolerance,Rotation,MatchThreshold,EstimationMethod,DistanceThreshold,RandSeed :HomMat2D,Points1,Points2)

Image1与Image2特征点匹配算子输出匹配矩阵

MaskSize应是Image1中的点在Image2中的可能范围

RowMoveColMoveRowToleranceColTolerance为图像匹配区域指向设定,如已大致已知匹配位置可精确设置,move为图像间差距,tolerance为活动范围

DistanceThreshold为点匹配差距不得超过此值,越大越容易匹配,同样错误概率也越大

RandSeed为随即搜索算子设定,越大越反复搜索所有可能性,但越耗时

6.gen_region_contour_xld,轮廓数据转换到Region数据,但注意轮廓在图像上显示的大小,如过小转换后Region分辨率过小

 gen_contour_region_xld,Region至轮廓转换

7.dual_threshold(Image : RegionCrossings : MinSize,MinGray,Threshold : )双阈值算子

Threshold像素灰度值必须大于此值

MinGray目标区域内必须有大于此值的像素灰度

MinSize目标区域的面积大小必须大于此值

MinGray必须大于等于Threshold,否则报错

8.sort_region (ConnectedRegions, SortedRegions, 'first_point', 'true', 'column')对Region排序

9.fit_line_contour_xld (Contour, 'drop', -1, 0, 5, 2, RowBegin, ColBegin, RowEnd, ColEnd, Nr, Nc, Dist)拟合直线

10.gen_contour_nurbs_xld(Contour, Row, Column, 'auto', 'auto', 3, 1, 5)通过点创建轮廓

11.set_system( : : SystemParameter, Value : )设定系统参数

border_shape_models:设置模板是否必须在ROI内

"flush_graphic":图形更新参数,true显示实时更新,false不更新可提高运行速度

"int2_bits":图像缩放相关参数,-1为自动

"backing_store":定义是否刷新所有窗口

 "icon_name":定义图形窗口的名称编号
"default_font" *):默认字体
"update_lut":是否使用系统默认颜色表
"use_window_thread":Windows下设置为true启用所有halcon的图形文本消息线程,提高运行速度
"graphic_stack_size":设定图形堆栈大小
"x_package":数据传输包大小,如果包过大导致错误,可尝试改小
"neighborhood", "tsp_neighborhood":设定相邻像素为4或8,对使用相邻像素算子产生影响
"init_new_image", "tsp_init_new_image":设定新图像过滤前是否需要填充0,如整幅图像过滤或图像不过滤的区域是没有影响的,可能用于掩盖
"no_object_result", "tsp_no_object_result":如果图像为空是否导致异常,true发出异常
"empty_region_result", "tsp_empty_region_result":空的Region是否导致异常
"store_empty_region", "tsp_store_empty_region":定义空的(没有任何目标)是否作为结果输出
"clip_region", "tsp_clip_region":定义是否修剪Region以适应图像显示
"int_zooming":定义图像适应大小是整数还是浮点
"pregenerate_shape_models":定义是事先生成模板还是使用时创建
"border_shape_models":与图像边缘接触模板定位目标是否有效
"opengl_context_cache_enable":使用显卡加速如果显卡支持,3D
"opengl_hidden_surface_removal_enable":显卡加速,3D效果
"opengl_compatibility_mode_enable":显卡加速使能
"image_dpi":设定保存图片时的DPI分辨率
"width", "tsp_width":系统内部图像宽度
"height", "tsp_height":系统内部图像高度
"current_runlength_number", "tsp_current_runlength_number":Region的最大数量
"reentrant" *):设定线程并行化是否需要同步,不同步存在线程安全危险
"parallelize_operators":自动并行化是否打开,
"thread_num" *), "tsp_thread_num":设定并行化线程数量,default为使用物理内核最大数量
"thread_pool" *):是否仅使用已有的线程,false可创建新的线程
"flush_file":文件更新,false当进入换行时才更新文件
"ocr_trainf_version":定义学习的OCR文件版本
"filename_encoding":文件名称编码格式
"halcon_dir" *):输入halcon安装根目录
"example_dir" *):输入范例目录
"image_dir" *):输入图像目录
"3d_model_dir" *):输入3D模型目录
"lut_dir" *):色彩板目录
"help_dir" *):帮助目录
"do_low_error":低等级错误的丢出
"cancel_draw_result", "tsp_cancel_draw_result":被终止算子反应方式,默认绘制终止符不返回错误
"clock_mode":计时方式
"timer_mode"计时方式
"max_connection":可输出的最大Region数量,0输出所有
"extern_alloc_funct":函数指针的使用,0使用
"image_cache_capacity" *):设定图片空间大小上限
"global_mem_cache":缓存的使用方式
"temporary_mem_cache" *):临时缓存的使用,true重载共享,false专有
"alloctmp_max_blocksize":定义最大的存储块大小,temporary_mem_cache为true有效
"database" *):数据调试时使用数据表格
"mmx_enable":显卡加速使能,mmx_supported为false无效
12.get_contour_global_attrib_xld算子判断轮廓形状种类,
13.zoom_image_size 修改图像分辨率

14.区域过滤

select_shape(Regions : SelectedRegions : FeaturesOperationMinMax : )

Regions:需要输入离散型区域对象,可用connection算子离散;

Features:参数内容包含如下'anisometry', 'area', 'area_holes', 'bulkiness', 'circularity', 'column', 'column1', 'column2', 'compactness', 'connect_num', 'contlength', 'convexity', 'dist_deviation', 'dist_mean', 'euler_number', 'height', 'holes_num', 'inner_height', 'inner_radius', 'inner_width', 'max_diameter', 'moments_i1', 'moments_i2', 'moments_i3', 'moments_i4', 'moments_ia', 'moments_ib', 'moments_m02', 'moments_m02_invar', 'moments_m03', 'moments_m03_invar', 'moments_m11', 'moments_m11_invar', 'moments_m12', 'moments_m12_invar', 'moments_m20', 'moments_m20_invar', 'moments_m21', 'moments_m21_invar', 'moments_m30', 'moments_m30_invar', 'moments_phi1', 'moments_phi2', 'moments_psi1', 'moments_psi2', 'moments_psi3', 'moments_psi4', 'num_sides', 'orientation', 'outer_radius', 'phi', 'ra', 'ratio', 'rb', 'rect2_len1', 'rect2_len2', 'rect2_phi', 'rectangularity', 'roundness', 'row', 'row1', 'row2', 'struct_factor', 'width'

area:区域总像素数;

row:区域中心的行位置

width:区域宽度的像素数(无角度外接矩形宽)

height:区域高度的像素数(无角度外接矩形高)

ratio:区域的长宽比(无角度外接矩形高/宽)

row1:区域左上角点的行位置

column1:区域左上角点的列位置

row2:区域右下角点的行位置

column2:区域右下角点的列位置

circularity: F为区域面积,max为区域中心到轮廓边缘的最大距离,所以空心圆环的圆度不高,0~1,分数越高越圆

compactness:区域紧凑度, L为区域周长,F为区域面积,所以圆形区域紧密度为1其他形状都大于1,分数越高越不圆,抓圆用圆度,抓长条状用紧凑度

contlength:轮廓长度,斜角算√2

convexity:区域凸度,圆形、矩形等为1,有突起的小于1,F。为原始区域面积Fc为填充凹坑区域面积

rectangularity:矩形度,区域面积/区域外接矩形面积为结果,0~1,完美矩形为1

ra:区域的等效椭圆长轴半径大小

rb:区域的等效椭圆短轴半径大小

phi:区域的等效椭圆角度,-π/2~π/2

anisometry:区域的等效椭圆的长轴/短轴结果

bulkiness:区域的蓬松度,等效椭圆的面积/区域面积,>=1

struct_factor:区域结构参数,区域外接圆/区域面积-1,>=1

outer_radius:区域最小外接圆半径

inner_radius:区域最大内接圆半径

inner_widht:区域最大内接矩形的宽度

inner_height:区域最大内接矩形的高度

dist_mean:区域边缘到中心的平均距离

dist_deviation:区域边缘到中心距离的方差

roundness:区域的圆度,Distance为边缘到中心的平均距离,Sigma为标准差,此参数与circularity不同

num_sides:如区域为正多边形,则此参数表示边的数量

connect_num:区域的独立区域数量

holes_num:区域内封闭的孔数量

area_holes:区域内封闭的孔的面积

max_diameter:区域内边缘点间的最大距离

orientation:区域的方向,-π~π,与phi范围不同

euler_number:区域的欧拉数量,独立实心区域为正,空心为负

rect2_phi:区域的最小外接矩形角度,-π/2~π/2

rect2_len1:区域的最小外接矩形的长度的一半

rect2_len2:区域的最小外接矩形的宽度的一半

moments_m11:区域点的行坐标与列坐标的协方差

moments_m20:区域点行坐标的二阶矩,表示行方向区域大小趋势

moments_m02:区域点列坐标的二阶矩,表示列方向区域大小趋势

moments_ia:区域主轴长度

moments_ib:区域短轴长度

15.区域转换

shape_trans(Region : RegionTrans : Type : )

Type:转换格式,可选'convex', 'ellipse', 'inner_center', 'inner_circle', 'inner_rectangle1', 'outer_circle', 'rectangle1', 'rectangle2'

convex凸包,填充突起产生的凹坑

ellipse:转换区域为力矩和面积相同的椭圆

outer_circle:最小外接圆

inner_circle:最小内接圆

rectangle1:最小外接无角度矩形

rectangle2:最小外接有角度矩形

inner_rectangle1:最大内接无角度矩形

inner_center:区域骨架距区域重心最近的点

16.area_center_gray(Regions, Image : : : Area, Row, Column)统计区域内灰度体积(参数Area)

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sunny被注册

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值