【Halcon】halcon中的常用算子的中文说明

HALCON中的算子大全(中英对照)

 

sub_image (ImageConverted1, ImageConverted2, ImageSub, 1, 0)一幅图减另一幅图。用一幅图的灰度减另一幅的灰度成新的一幅图。

mult_image (Image, ImagePart, ImageResult, 0.015, 0)一幅图加一幅成的一幅图

convert_image_type (Traffic2, ImageConverted2, 'int2')转换图像的格式

crop_part (ImageNoise, ImagePart, 0, 0, Width, Height)取出一幅图的中部分

dots_image (ImageResult, DotImage, 5, 'dark', 2)取出图像中圆点

partition_dynamic (SelectedRegions, Partitioned, 25, 20)根据各个区域的特征将各个区域分割开。

intersection (PartitionedRegion, Characters)取出两个区域中重叠的部分,如果Region有两个区域在Partitioned中,则这两个区域合并成一区域。

difference (RegionDilation, RegionErosion, RegionDifference) 取出两个区域中不重叠的部分。

critical_points_sub_pix (FilterResponse, 'facet', 1.5, 0.7, RowMin, ColMin, RowMax, ColMax, RowSaddle, ColSaddle)取出图像中的关键点。

corner_response (Image, FilterResponse, 3, 0.04)

auto_threshold (Image, Regions, 10)自动阈值分割,根据灰度直方图中两波峰中的波谷取出阈值。

closing (RegionClosing3, Rectangle, RegionClosing4)用一个设计好的区域来封闭其它区域。

hom_mat2d_identity (HomMat2DIdentity)生成一个2D单位矩阵

hom_mat3d_identity (HomMat3DIdentity)生成一个3D单位矩阵

hom_mat2d_translate (HomMat2DIdentity, -0.5*(Row1+Row2), -0.5*(Column1+Column2), HomMat2DTranslate)对矩阵进行2D变换,用于平移。

hom_mat3d_rotate (HomMat3DIdentity, GraspPhiZ_ref, 'z', 0, 0, 0, HomMat3D_RZ_Phi) 对矩阵进行3D变换,用于旋转。

hom_mat3d_translate (HomMat3D_RZ_Phi, CenterPointX_ref, CenterPointY_ref, 0, ref_H_grasp) 对矩阵进行3D变换,用于平移。

hom_mat2d_scale (HomMat2DTranslate, ScaleFactor, ScaleFactor, 0, 0, HomMat2DScale) 对矩阵进行变换,用于缩放

hom_mat3d_compose (cam_H_ref, ref_H_grasp, cam_H_grasp)将两矩阵相乘

hom_mat3d_to_pose (cam_H_grasp, PoseCamGripper)将矩阵变换成3D位姿

affine_trans_contour_xld (LogoContoursTemp, LogoContours, HomMat2DComplete)对线条LogoContoursTemp进行HomMat2DComplete对应的变换(平移和缩放)。

compose3 (ImageRed, ImageGreen, ImageBlue, LogoImageTempl)将三幅图像合并成一幅图像

decompose3 (LogoImage, ImageR, ImageG, ImageB)将一幅图像根据RGB值转换成三幅图像。

paint_xld (LogoContours, LogoImageTempl, LogoImage, [Blue,Orange,Blue,Blue,Blue,Blue])对线条喷颜色。Blue := [0,48,117],Orange := [255,181,41]

check_difference (Traffic1, Traffic2, Selected1, 'diff_outside', -255, 15, 0, 0, 0)根据两幅图的不同进行图像分割。

bin_threshold自动阈值分割,与auto_threshold (Image, Regions, 10)类似,但只有一个最小值取得仅有一个阈值。

char_threshold (Alpha1, Alpha1, Characters, 6, 95, Threshold)自动阈值分割,阈值根据直方图的波峰取得

dyn_threshold (ImageFilled, ImageMean, RegionDynThresh, 3, 'light')动态阈值分割。

gray_histo (Alpha1, Alpha1, AbsoluteHisto, RelativeHisto)获得绝对与相对直方。

background_seg (Edges, BackgroundRegions)将找出的区域根据背景分割成各个连通的区域。

fill_up_shape (BackgroundRegions, RegionFillUp, 'area', 1, 40)有选择性的填充

smooth_funct_1d_gauss (Function, Sigma, SmoothedFunction)对一维数组进行平滑处理。

funct_1d_to_pairs (SmoothedFunction, XValues, YValues)将数据分别对应赋予一个横坐标。

fill_interlace (Image, ImageFilled, 'odd')修改在采集图像过程中造成的两个半幅图像拼接的问题。

regiongrowing (Image, Regions, 1, 1, 1, 100)将图像分割成各个灰度值相近的区域。

expand_gray_ref (Regions, Image, EmptyRegion, RegionExpand, 'maximal', 'image', Mean, 11)根据灰度和颜色将分离的区域连通。

expand_line (Image, RegionExpand, Line, 'mean', 'row', 100)将轮廓拓展成一个跟其灰度相近的区域。

expand_region (Regions, NoPixel, RegionExpanded1, 'maximal', 'image') 根据设定的特征将分离的区域连通。

fast_threshold (Image, Region, 128, 255, 10)根据最大和最小灰度以及面积选出区域

gray_erosion_rect (Image, Imag, StrokeWidth, StrokeWidth)每个点的灰度值用这个点的矩形掩码内最小灰度值代替。

select_shape_std (ConnectedRegions, SelectedRegion, 'max_area', 70)从多个区域选出指定特征相似的区域。如选出面积最大的区域。

scale_image_max (ImageReduced, ImageScaleMax)增加图像的对比度

text_line_orientation (SelectedRegion, ImageScaleMax, 30, rad(-30), rad(30), OrientationAngle) 检测具有字符的图像的方向

rotate_image (ImageScaleMax, ImageRotate, deg(-OrientationAngle), 'constant')将图像按照指定的角度旋转

find_text (ImageRotate, TextModel, TextResult)根据设定的模板寻找字符

get_mposition (WindowHandleButton, Row, Column, Button)获得鼠标坐标

gen_grid_region (RegionGrid, Gap, Gap, 'lines', Width, Height)生成网格区域

clip_region (Grid, StreetGrid, 165, 20, 405, 750)选择一定范围内的区域。

clip_region_rel (RegionBorder, RegionClipped, 5, 5, 5, 5)选择四边都减去一定像素的区域

gray_closing (Image, ImageReduced, ImageClosingFast)灰度值闭操作

gray_opening (Image, ImageReduced, ImageOpeningFast) 灰度值开操作

hysteresis_threshold (EdgeAmplitude, RegionHysteresis, 10, 20, 10)当大于最大阈值的点取出做为可靠点,最大与最小值之间的点根据与可靠点的关系选出。

get_domain (Image, Domain)得到整幅图像的区域

gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)在区域内部的实心区域得到一个平行于横坐标的最大矩形。

complement(Region : RegionComplement : : )找到输入区域的补区域。

interjacent (Regions, RegionInterjacent, 'border')找到将各个区域分割开的区域

local_max (Image, LocalMaxima)找到比周围灰度值都大的点

local_min (ImageInverted, LocalMinima) 找到比周围灰度值都小的点

smooth_image (Image, ImageSmooth, 'deriche2', 0.2)平滑图像

invert_image (ImageSmooth, ImageInverted)用255减去每个点的灰度值作为这个点新的灰度值。

shape_trans (RegionFillUp, Pads, 'convex')根据指定的参数对区域的形状进行转换,如转换成正方形等。

select_shape_proto (Pads, BallBonds, MissingBonds, 'overlaps_rel', 0, 0)选出具有相似特征的所有区域

boundary (RegionIntersection, RegionBorder, 'inner')获得区域的边界

lines_gauss (ImageReducedTracks, Lines, 1.5, 1, 8, 'light', 'true', 'true', 'true')提取图的线条并计算出图的宽度。

get_contour_xld (Line, Row, Column)获得线条的各个点的坐标

min_max_gray (ImageAngioMedian, ImageAngioMedian, 0, Min, Max, Range)获得区域内图像的最大和最小灰度值

median_rect (ImageNeedle, ImageNeedleMedian, 41, 41)对图像中值滤波

shape_trans_xld (Border, XLDConvex, 'convex')将区域的边界根据不同的属性转化成线条

get_contour_attrib_xld (Line, 'width_left', WidthL)得到线上每个点的属性

fit_circle_contour_xld (ObjectSelected, 'ahuber', -1, 2, 0, 3, 2, Row, Column, Radius, StartPhi, EndPhi, PointOrder)将线条拟合成圆,得到位置和半径。

gen_circle_contour_xld (ContCircle, Row, Column, Radius, 0, rad(360), 'positive', 1.0)生成一个圆

get_contour_global_attrib_xld (ObjectSelected, 'cont_approx', Attrib)返回线条的全局属性值,当Attrib<0时线条是直线,当Attrib>0时是圆弧。

clip_contours_xld (Lines, LinesClipped, Top, Left, Bottom, Right)选择一定区域内的线条

clip_end_points_contours_xld (EllipseContour, ClippedContoursLength, 'length', 20)去除线条两端的部分像素。

region_to_bin (Rectangle, BinImage, 130, 100, 120, 130)将区域转换成具有固定灰度值的图像

paint_gray (SmoothedImage, BinImage, Image)将一图图像绘制到另一幅图像上。

union_collinear_contours_xld (RegressContours, UnionContours, 10, 1, 2, 0.1, 'attr_keep')连接共线的线条。

gen_contour_polygon_xld (Contour4, [200,200,300,300,200], [320,450,450,300,300])生成任意多边曲线

close_contours_xld (Contours, ClosedContours)让不封闭的线条封闭

select_contours_xld (Contours, SelectedContours, 'closed', 0, 20, 0, 0)选择一定条件的线条。

crop_contours_xld (Lines, LinesCropped, Top - 0.5, Left - 0.5, Bottom + 0.5, Right + 0.5, 'false')提取出一定范围内的线条。

gen_polygons_xld (Contour1, Polygon1, 'ramer', 10)将线条拟合成多边形。

dev_set_part (239, 197, 239+17, 197+17)设置显示的区域

dev_set_color ('cyan')设置显示的颜色

dev_set_draw ('margin')设置显示的区域是填充还是空心的

dev_set_shape ('ellipse') 设置显示的区域的形状

select_region_point (Regions, DestRegions, Row, Column)选择包含指定点的区域

gen_contour_region_xld (SelectedRegions, Contours, 'border_holes')根据区域和指定的特征生成轮廓线。

dump_window_image (DumpImage, WindowHandle)将窗口的内容截图成图像

area_center_points_xld (ClipContours, Area, RowPoints, ColumnPoints)轮廓线所有点计算的中心

area_center_xld (ClipContours, Area, Row, Column, PointOrder)轮廓线所有的区域的中心

gen_nurbs_interp (Rows, Cols, [0,-10,0,10], 3, CtrlRows, CtrlCols, Knots)根据提供的点拟合成曲线的坐标

gen_contour_nurbs_xld (Contour, CtrlRows, CtrlCols, Knots, 'auto', 3, 1, 5)根据拟合的坐标生成轮廓线

gen_parallel_contour_xld (Edges, ParallelEdgesAngle, 'contour_normal', 3)根据指定的特征生成相应的平行线。

get_grayval_contour_xld (Image, Contour, 'bilinear', Grayval)提取了轮廓线上所有点的灰度值

test_subset_region(Region1Region2 : : : IsSubset)测试一个区域是不是在另一个区域中。

subset(Rows,Min)从数组Rows先出Min对应序列的数组

create_funct_1d_array (Grayval, Function)根据数组生成一个函数序列

local_min_max_funct_1d (Function, 'strict_min_max', 'false', Min, Max)提取出函数序列中的局部最大和最小值。

dev_inspect_ctrl (PoseRobotGrasp_ZYX)打开检测窗口

dev_close_inspect_ctrl (PoseRobotGrasp_ZYX)关闭检测窗口

pose_to_hom_mat3d (PoseCamBase, cam_H_base)将3D位姿转换成一个矩阵。

disp_3d_coord_system (WindowHandle, CamParam, PoseCamRef, 0.01)根据内参和外参显示3D坐标系

concat_obj (Lines, Contour, Lines)将对象合并,可以分类时将属性相同的人为合并成一类。

gen_parallels_xld (Polygon, ParallelLines, 50, 100, rad(10), 'true')找到平行的轮廓线

get_parallels_xld (ParallelLines, Row1, Col1, Length1, Phi1, Row2, Col2, Length2, Phi2)得到平行轮廓线的相关坐标。

affine_trans_point_3d (cam_H_ref, GraspPointsX_ref, GraspPointsY_ref, [0, 0], GraspPointsX_cam, GraspPointsY_cam, GraspPointsZ_cam)对点进行3D变换。

project_3d_point (GraspPointsX_cam, GraspPointsY_cam, GraspPointsZ_cam, CamParam, GraspPointsRow, GraspPointsCol)将空间的3D坐标变换到图像坐标

union_cocircular_contours_xld (ContoursSplit, UnionContours, 0.9, 0.5, 0.5, 200, 50, 50, 'true', 1)将属于同一个圆的轮廓线连接起来

sort_index(Length)[|Length|-1]+1找出最大值对应的索引

polar_trans_image (ImageReduced, ImagePolar, Row, Column, PolarResolution, Radius+5)

把图像由笛卡尔坐标转换成极坐标下图像,及把圆环形的图像区域转换成矩形区域。

polar_trans_region_inv (RegionUnion, XYTransRegion, Row, Column, 6.28319, 0, Radius-RingSize, Radius, 640, RingSize, 1280, 1024, 'nearest_neighbor') 把图像由极坐标坐标转换成笛卡尔下图像,及把矩形的图像区域转换成圆环形区域。

rotate_image (ImagePart, ImageRotate, 90, 'constant')将图像旋转90度

lines_color (Image, Lines, 3.5, 0, 12, 'true', 'false')检测图像中颜色线条,并提取出它们的宽度。

Measure_circle提取圆弧线的例子:

intersection_ll( : : RowA1ColumnA1RowA2ColumnA2RowB1ColumnB1RowB2ColumnB2 : RowColumnIsParallel)提取两条交叉直线交叉点的坐标

orientation_region (Region, OrientationRegion)提取区域的方向

obj_diff (ConnectedRegions, LeftRegions, RightRegions)提取两组对象中不同的对象。

optical_flow_mg (Image1, Image2, VectorField, 'clg', 1, 1, 1000, 5, 'default_parameters', 'fast')计算两幅图像中的视觉差异,用于监控。

vector_field_length (VectorField, LengthImage, 'squared_length')计算向量的长度,得到差异图像。

local_max_sub_pix (ImageReduced, 'facet', 1.0, 4, Row, Column)提取出图像中灰度极大值的坐标

mod_parallels_xld (ParallelRoadEdges, Part, ModParallelRoadEdges, ExtParallelRoadEdges, 0.3, 160, 220, 10)修补平行的轮廓线

split_contours_xld (Polygons, SplitContours, 'polygon', 1, 5)

regress_contours_xld (SplitContours, RegressContours, 'drop', 1)

select_xld_point (Contours, SelectedContours, PointRow, PointCol)选择包含指定点的轮廓线。

symm_difference_closed_contours_xld (BoundarySet1, BoundarySet2, ContoursDifference)提取封闭对称轮廓线的不同部分

test_self_intersection_xld (Contours, 'false', DoesIntersect)检测轮廓线本身是否存在交叉点

 

test_xld_point (Contour1, PointRow, PointCol, IsInsideContour1)测试提供的点是否被轮廓线包含在内

union2_closed_contours_xld (BoundarySet1, BoundarySet2, ContoursUnion)从多条轮廓线中合并成封闭的轮廓线

union2_closed_polygons_xld (BoundarySet1, BoundarySet2, PolygonsUnion)从多个多边形的轮廓线中提取封闭的轮廓线。

union_cotangential_contours_xld (ContourConcat4, UnionContours4, FitClippingLength, FitLength, TestMaxTangAngle, MaxDist, MaxDistPerp, MaxOverlap, 'attr_forget')

tile_images (Images4, TiledImage3, 2, 'horizontal')将幅图像合并成一幅图像

select_contours_xld (RegressContours, SelectedContours, 'curvature', 0, 0.5, 0, 0)根据线的特征选择轮廓线。

select_shape_xld (SelectedContours, SelectedEdges, 'contlength', 'and', 15, 500)根据线的形态特征选择轮廓线。

vector_to_proj_hom_mat2d ([RowUL,RowUR,RowLR,RowLL]+0.5, [ColUL,ColUR,ColLR,ColLL]+0.5, [160,160,340,340]+0.5, [250,550,550,250]+0.5, 'normalized_dlt', [], [], [], [], [], [], HomMat2D, Covariance)根据图像坐标和实际坐标得到坐标的变换关系。

union_collinear_contours_ext_xld (UnionContours, UnionContours, MaxDistAbs, MaxDistRel, 5, 0.5, 0, -1, 1, 1, 1, 1, 1, 0, 'attr_keep')连接同线的轮廓线,提取的轮廓比union_collinear_contours_xld更精准。

orientation_points_xld (WireSegment, RefOrientation)

corner_response (ImaAmp, ImageCorner, 3, 0.04)提取图像中的角

gen_parallels_xld (Polygon, ParallelLines, 50, 100, rad(10), 'true')找到平行的直线


Taily老段的微信公众号,欢迎交流学习

https://blog.csdn.net/taily_duan/article/details/81214815


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值