gen_region_contour_xld (ClosedContours, Region2, 'filled') 二、region转xld 方法1:gen_contour_region_xld (SelectedRegions, Contours, 'border') 拟合部分边缘提取和轮廓分割之间会用到,因为轮廓分割需输入xld轮廓,而用boundary提取区域边缘输出的是区域(region),所以需要转换。 方法2:先将区域转换骨架,然后再...
(1)第一个参数Region为要进行底帽运算的区域; (2)第二个参数StructElement为结构内核区域; (3)第三个参数RegionBottomHat为底帽运算后的区域。 在HALCON中使用fill_up函数来实现填充功能,这个函数的参数中: (1)第一个参数Region为输入需要填充的区域; (2)第二个参数RegionFillUp为填充后的区域。 使用fill_up...
(Rectangle, Row1, Column1, Row2, Column2) reduce_domain (Image2, Rectangle, ImageReduced) threshold (ImageReduced, Region, 100, 255) area_center (Region, Area3, Row3, Column3) for I := 0 to |Row3| - 1 by 1 gen_cross_contour_xld (Cross, Row3[I], Column3[I], 20, 0) ...
close_measure (MsrHandle) gen_cross_contour_xld (Cross_SP, Row1_Measure_01_0, Column1_Measure_01_0, 20, 0.785398) gen_cross_contour_xld (Cross_EP, Row2_Measure_01_0, Column2_Measure_01_0, 20, 0.785398) if(IsChooseBackGround) intersection (Region_Holes, Region_MeasureC, Region_Line...
Cross3(输出对象):输出数字坐标轮廓 500(输入控制参数1):十字坐标中心的行坐标 500(输入控制参数2):十字坐标中心的列坐标 90(输入控制参数3):十字型的大小 0(输入控制参数4):十字坐标相对于水平的角度 使用其他形式转换为轮廓 区域转轮廓gen_contour_region_xld ...
Cross3(输出对象):输出数字坐标轮廓 500(输入控制参数1):十字坐标中心的行坐标 500(输入控制参数2):十字坐标中心的列坐标 90(输入控制参数3):十字型的大小 0(输入控制参数4):十字坐标相对于水平的角度 使用其他形式转换为轮廓 区域转轮廓gen_contour_region_xld ...
threshold (Image, Region, 128, 255) *消除小区域并平滑区域的边界 opening_circle (Region, RegionOpening, 3.5) hom_mat2d_identity (HomMat2DIdentity) scale:=1 for phi:=0 to 360 by 1 *针对图像做仿射变换,这里选择的是最近邻插值法 hom_mat2d_rotate (HomMat2DIdentity, rad(phi), 256, 256, Ho...
Halcon中与极坐标变换相关的算子共有7个,不过polar_trans_image已经过时,官方不建议使用,可以看到Halcon对Image、Region、XLD都可以运用极坐标变换和反变换。 Halcon示例程序中关于极坐标的例子有:inspect_bottle_mouth.hdev。下面的代码亦是根据这个例子精简而来,完整代码如下(注意看注释): ...
在Halcon中,图像是由像素组成的,一般的算法也都是基于像素来进行处理,所以其中Image和Region都是以像素为最小单位,XLD用来表示亚像素的轮廓或者多边形。 XLD的特征大部分跟Region很像,很多算子都是在Region的算子后加上_xld。其主要的特征如下: 1.get_contour_xld(Contour : : : Row, Col) 功能: 返回XLD轮廓...
cross.Dispose(); } } // 测试代码 class Program { static void M本人n(string[] args) { // 读取图像 HObject image; HOperatorSet.ReadImage(out image, "test.jpg"); RotationCenterCalculation rcc = new RotationCenterCalculation(); // 图像预处理 HObject edgeImage = rcc.PreprocessImage(image)...