- 博客(51)
- 收藏
- 关注
原创 Halcon1D测量
请注意,上述描述的从轮廓提取1D边缘的方法与使用操作符edges_sub_pix执行的2D边缘提取有很大不同(请参见图2.5)。在1D边缘提取的情况下,仅确定边缘与轮廓线的交点位置,如上所述,而2D边缘提取返回完整的边缘作为轮廓。如果边缘是直的,并且大致垂直于轮廓线,则1D边缘提取的结果类似于2D边缘与轮廓线的交点。图 e f 对应的两个具有不同宽度的ROI的轮廓(粗线)和轮廓的导数(细线),分别是带有和不带有对轮廓进行平滑处理的情况。投影线的长度,即ROI的宽度,定义了在垂直于轮廓线的方向上的平均程度。
2025-07-18 10:00:12
973
原创 create_ncc_model (算子)
建议值: -3.14 (-180°), -1.57 (-90°), -0.79 (-45°), -0.39 (-22.5°), -0.20 (-11.5°), 0.0 (0°)建议值: ‘auto’, 0.0 (0°), 0.0175 (1°), 0.0349 (2°), 0.0524 (3°), 0.0698 (4°), 0.0873 (5°)建议值: 6.29 (360°), 3.14 (180°), 1.57 (90°), 0.79 (45°), 0.39 (22.5°)自动计算的角度步长可通过。
2025-07-16 11:43:53
670
原创 distance_transform(算子)
名称distance_transform — 计算区域的距离变换签名描述 为输入区域 (或其补集)中的每个点计算到区域边界的距离。输出图像 包含距离信息,尺寸由 和 指定。输入区域会被裁剪至输出图像范围内,因此若需完整计算区域内的距离,需确保: 参数指定距离计算方式,具体如下:。欧式距离(Euclidean Distance)欧式距离又称之为欧几里得度量,我们从小学开始所学的二维空间两点的距离便是欧式距离。二维空间点a(x1,y1)与b(x2,y2)间的欧氏距离d=(x1−x2)2+(
2025-07-15 17:46:30
567
原创 图像中的矩
想象你有一张剪影照片,想知道这个剪影的形状特征——比如它重心在哪、是胖是瘦、有没有倾斜。就像裁缝用软尺量身材,矩可以量图像的「数字身材」。:Hu将7个中心矩组合成7个「不变矩」,对旋转、缩放、平移免疫。:裁缝量衣服尺寸时,不管人站在房间哪个位置,只关注三围数据。:中心矩在计算时,先减去质心坐标,让所有测量基于形状本身。:告诉你图像的主体位置在哪。:如果两张形状相同的图像位置不同,普通矩会认为它们不同。:图像旋转、缩放后,普通矩会变化,无法识别同一物体。:你的身份证号码,无论你换衣服、戴帽子,号码不变。
2025-07-15 16:36:59
351
原创 分水岭算法
若从局部极小值注水,并阻断异源水流的汇合,图像即被分割为两类区域:集水盆地与分水岭界线。分水岭算法是一种基于形态学的图像分割技术,通过模拟水流在图像梯度地形中的扩展来划分区域。将此变换作用于图像梯度后,集水盆地理论上应映射图像中的同质灰度区域。*-- 后处理:筛选有效细胞区域(面积>100像素)--**-- 剔除边缘粘连区域(距图像边界<10像素)--*:暗色连通区域,每个盆地作为独立区域输出(区域数组)*-- 预处理:高斯滤波抑制噪声并平滑边缘 --*:亮色单像素宽边界线,包围所有盆地(单个区域)
2025-07-14 17:52:40
718
原创 dyn_threshold (算子)
:阈值图像通常通过均值滤波(mean_image)、二项滤波(binomial_filter)或高斯滤波(gauss_filter)等操作生成,等效于对原始图像高通滤波后做阈值分割(参考highpass_image)。pcb_inspection.hdev(PCB缺陷检测)、surface_scratch.hdev(表面划痕检测)、3d_position_of_rectangle.hdev(矩形物体三维位姿估计)等23个工业场景应用。通过局部阈值条件筛选输入图像的像素区域。表示原始图像灰度值,
2025-07-14 10:42:00
517
原创 灰度形态学
与《形态学/区域》中的二值操作不同,灰度形态学操作符处理的输入图像包含多位深度的像素。以下示例展示了需要通过灰度腐蚀来读取数据代码符号的场景: 为了适配用于解码的数据模型,图像中代码元素之间的间隙需要通过扩大局部极小值(方形区域)来缩小。(1) 原始灰度图像 (2) 以原点为参考点的结构元素 (3) 腐蚀后的结果 (4) 膨胀后的结果。(1) 原始灰度图像 (2) 以原点为参考点的结构元素 (3) 闭运算结果 (4) 开运算结果。因此,灰度值膨胀会扩大输入图像中的亮区,而灰度值腐蚀则会强化暗区。
2025-05-15 16:04:36
626
原创 区域形态学(Region Morphology)
当结构元素与输入区域有至少一个像素重叠时,结构元素的参考点(reference point)会被添加到结果区域中,从而使区域扩大(如下图3所示)。若直接连接可能无法完全分离(如图3),此时可先腐蚀缩小区域,再进行连接,最后通过膨胀恢复近似原始形状。:仅当结构元素完全位于输入区域内时,其参考点才会被保留,从而缩小区域(如下图4所示)。(1) 输入区域图像,(2) 原点为参考点的结构元素,(3) 膨胀结果,(4) 腐蚀结果。闭运算是先膨胀后腐蚀,用于填补小孔(如下图4)。:用于扫描输入区域的模板区域。
2025-05-15 16:02:57
446
原创 灰度插值算法
灰度值插值是图像变换中必不可少的方法,因为图像并非连续函数,而是经过数字化的 —— 即由与(离散)灰度值相关联的像素组成。例如,当对图像进行旋转和下采样时(如图 1.1 所示),输出图像的某个像素将不再精确对应输入图像中的单个像素,而是可能包含原始图像中多个像素的部分信息。因此,需要一种方法来计算输出像素的灰度值。一种可能的方法是仅使用原始图像中单个像素的灰度值(例如,中心最接近输出像素中心的那个像素),但这意味着原始图像中的信息可能会在变换过程中丢失,进而导致图像质量下降。
2025-05-15 15:58:49
964
原创 算子 get_text_result
对于每种极性,文本行都会独立地按从上到下、从左到右的顺序排序。文本行内的字符按从左到右的顺序排序。文本分割过程中使用的文本模型而异。的文本模型可能的参数值,再列出。— 查询文本分割结果的控制值。如有必要,会抛出异常。的文本模型的参数值。
2025-03-14 15:07:23
382
原创 算子 get_text_object
对于每种极性,文本行都会独立地按从上到下、从左到右的顺序排序。文本行内的字符按从左到右的顺序排序。文本分割过程中使用的文本模型而异。— 查询文本分割结果的图形化值。的文本模型可能的参数值,再列出。如有必要,会抛出异常。的文本模型的参数值。
2025-03-14 15:05:05
399
原创 算子 find_text
的文本模型都会对输入图像应用各种阈值,并根据区域和灰度值特征分割字符候选区域。会单独完善每一行文本,并测试它是否满足文本行的约束条件。以及后续操作期间会为文本结果分配内存,因此一旦不再使用该文本结果,应使用。的文本模型要求文本行至少由三个字符组成。设置文本模型的合理参数,包括预期的字符高度和宽度。设置了相应的参数,会添加标点符号和分隔符。的文本模型要求文本行至少由两个字符组成,而。条目,则会使完善后的文本行与这些结构相匹配。中的文本结果会有所不同,这取决于使用。指定的文本,并将结果返回在。
2025-03-14 15:01:31
333
原创 算子 create_text_model_reader
此外,强烈建议使用带有拒绝类的基于 CNN 的 OCR 分类器,或者使用经过正则化参数训练(请参阅。也可以传入一个包含预训练 OCR 分类器路径的字符串,或者传入一个使用。,因为这种模式更稳定,且所需的配置工作更少。以及后续操作期间会为文本模型分配内存,因此一旦不再使用该模型,应使用。特别地,如果要分割的文本包含点阵打印字符,则必须将文本模型参数。设置文本模型的合理参数,包括预期的字符高度和宽度。)的基于 MLP 的分类器。参数的值决定了使用哪种文本分割方法。(文本模型),该模型描述了将使用。
2025-03-14 14:56:57
747
原创 算子 train_class_mlp
指定了每次迭代中权重变化的阈值。因此,这个值取决于权重的数量以及权重的大小,而权重的大小又取决于训练数据的缩放。并没有明确禁止使用额外训练样本进行第二次训练,但通常这样做不会得到好的结果,因为 MLP 的训练是一个复杂的非线性优化问题,因此使用新数据进行的第二次训练很可能会使优化陷入局部最小值。中所描述的,使用自动确定正则化参数的方式训练 MLP 比训练未正则化的 MLP 或具有固定正则化参数的 MLP 所需的时间要长得多。需要注意的是,根据 MLP 的大小和训练样本的数量,训练可能需要几秒到几小时不等。
2025-03-13 22:34:47
527
原创 算子 set_text_model_param
允许的参数值列表会有所不同,具体取决于使用。的文本模型的参数值,然后是。— 设置文本模型的参数。用于设置文本模型的参数。创建文本模型时所设置的。参数的名称和值必须分别在。的文本模型的参数值。如果输入参数设置正确,
2025-03-13 22:29:10
601
原创 算子 gray_range_rect
如果将定义域缩小后的图像作为输入,滤波算子可能会返回意外的结果。请参考“滤波器”章节。为偶数,则会将其调整为下一个较小的奇数。在图像边界处,灰度值采用镜像处理。) 的矩形掩膜内的灰度值范围,即最大灰度值与最小灰度值的差值(中的每个像素点,计算其在大小为 (— 确定矩形区域内的灰度值范围。如有必要,会抛出异常。计算结果存储在输出图像。如果输入为空,可以通过。
2025-03-13 22:06:29
427
原创 算子 trainf_ocr_class_mlp
可能会返回错误 9211(矩阵不是正定的)。这通常表明每个类存储的训练样本数量不足。在这种情况下,建议将。在训练过程中,会考虑对 OCR 分类器进行正则化处理以及自动确定正则化参数(见。所指定的 OCR 训练文件中存储的训练字符,对 OCR 分类器。之前,训练文件必须已经创建好,例如使用。指定了拒绝类,那么会生成拒绝类的样本。此外,如果在实际训练之前已经使用。另一种解决方法是添加更多的训练样本。中没有对应类别的训练字符将被丢弃。— 训练一个 OCR 分类器。如有必要,会抛出异常。
2025-03-13 21:59:32
716
原创 算子 `create_ocr_class_mlp`
需要注意的是,转换后字符的大小不宜过大,因为对于较大的尺寸,分类器的泛化性能可能会变差。特别是,如果使用灰度值特征,较大的尺寸会导致小的分割误差对计算出的特征产生较大影响。这是因为分割误差会改变区域的最小外接矩形,从而导致字符的缩放比例与训练集中的字符不同。HALCON 提供了许多预训练的 OCR 分类器(请参阅《解决方案指南 I》中 “OCR” 章节的 “预训练 OCR 字体” 部分)。由于分类器需要固定数量的特征(输入变量),因此待分类的字符会被转换为标准大小,该大小由。OCR 分类器的句柄通过。
2025-03-13 21:54:30
731
原创 算子 read_ocr_class_mlp
HALCON 提供了许多预训练的 OCR 分类器(请参阅《解决方案指南 I》中 “OCR” 章节的 “预训练 OCR 字体” 部分)。这些预训练的 OCR 分类器使得无需训练 OCR 分类器就能读取各种不同的字体成为可能。请注意,预训练的 OCR 分类器是使用深色字符印在浅色背景上的符号进行训练的。存储的 OCR 分类器。由于训练一个 OCR 分类器可能会消耗比较长的时间,因此通常会在离线过程中训练分类器,然后使用。— 从文件中读取一个 OCR 分类器。如有必要,会抛出异常。读取分类器,随后使用。
2025-03-13 20:58:38
351
原创 Halcon 预训练的 OCR 字体
在这种情况下,应根据其 ASCII 码检查分类后的字符,即 ’e’ 的 ASCII 码为 128,’£’ 的 ASCII 码为 163,’¥’ 的 ASCII 码为 165。这种基于卷积神经网络(CNN)的字体是基于 “Document”、“DotPrint”、“SEMI” 和 “Industrial” 字体所使用的字符进行训练的。这些是用于打印文档或信件的典型字体。OCR 字体 “Pharma” 可用于读取以 Arial、OCR - B 等字体以及制药行业常用的其他字体打印的字符(见图 6)。
2025-03-13 17:55:47
812
原创 算子 set_bar_code_param
用于设置或修改条码模型的不同参数,以适应条码的特殊属性或图像中的特定外观。注意:这些值并非严格限制条码元素尺寸,实际可能发现超出此范围的条码。(如“模块”或“窄条”,具体取决于条码类型),即特定条码类型的最窄条/空的最小宽度(单位:像素)。需合理设置以避免相邻条码被误合并,同时确保完整检测条码区域。:按标准静区宽度验证(如 EAN-13 左静区 11X,右 7X)。◦ 整数值(≥1):静区宽度 ≥ 指定值 × X(X 为模块宽度)。表示内部自动设定(单行条码 10,堆叠式条码 20 或 55)。
2025-03-13 10:29:55
846
原创 算子 calculate_lines_gauss_parameters
算法中控制线条检测范围的关键参数。在典型图像中测量目标线条的像素宽度(如电路板线路、X光血管)。:实际宽度1mm,分辨率0.05mm/像素 ⇒ 计算值20像素。:检测PCB板导线(实测宽度约3像素,因制造公差波动至5像素)的最佳设置需基于实际测量、试验调优,并配合算法其他参数(如。灵活运用动态策略与自动化工具可提升复杂场景下的检测鲁棒性。分割图像为子区域,根据局部特征动态调整参数。生成多分辨率图像,逐层检测并融合线条。算子计算高斯线检测的关键参数。参数基于待检测线条的。
2025-03-11 17:38:24
368
原创 算子 lines_gauss
用于从图像中提取(如裂纹、血管、文字笔画等),并返回亚像素精度的XLD轮廓。LightDarkbar-shapedparabolicgaussian'light''dark''true''none''gaussian'angleresponsewidth_leftasymmetrycontrast示例基于微分几何的曲形结构提取方法无偏曲形结构检测器。
2025-03-11 17:37:26
405
原创 算子 set_rejection_params_class_mlp
想象你有一个农场,里面养着健康的动物(正常样本)。为了防止野兽(异常样本)混入,你建了一圈围栏(超盒),围栏内的动物是安全的,围栏外的则视为威胁。
2025-03-11 11:14:26
371
原创 算子 texture_laws
— 使用劳斯(Laws)纹理滤波器对图像进行滤波。 是HALCON中用于纹理分析的核心算子,通过特定的Laws纹理滤波器对图像进行卷积运算,提取不同方向的纹理特征。它广泛应用于工业检测(如表面缺陷识别)、医学图像分析(如组织纹理分类)等场景。这些滤波器包括:这些滤波器的名称是**“水平(level)”、“边缘(edge)”、“斑点(spot)”、“波(wave)”、“波纹(ripple)”、“起伏(undulation)”和“振荡(oscillation)”**的助记符。对于大多数滤波器,得到的灰度值必须通
2025-03-11 11:12:56
714
原创 算子 edges_image
通过递归滤波器(Deriche、Lanser、Shen)或传统高斯导数滤波器(Canny)检测图像中的阶跃边缘,支持快速 Sobel 变体
2025-03-10 22:06:58
577
原创 算子 fit_ellipse_contour_xld
功能:将XLD轮廓近似为椭圆或椭圆弧,适用于精密测量、工业检测等场景。算子签名拟合算法详解算法名称原理与适用场景推荐场景‘fitzgibbon’最小化轮廓点与椭圆的代数距离,约束条件保证结果为椭圆。速度快,但对噪声敏感。无噪声或低噪声的快速拟合‘fhuber’基于Huber加权,减少离群点影响(线性阻尼)。适用于轻度噪声。存在少量离群点的数据‘ftukey’基于Tukey加权,直接忽略离群点。抗噪性强,推荐优先使用。高噪声或离群点较多的数据‘geom
2025-03-10 22:02:47
955
原创 算子 segment_contour_attrib_xld
功能:根据 XLD 轮廓的局部属性(如边缘方向、宽度、对比度等)分割轮廓,提取满足条件的子轮廓。参数详解输入参数Contour (输入轮廓)Attribute (属性名称)Operation (逻辑操作符)Min (最小值)Max (最大值)
2025-03-09 21:17:45
763
原创 算子 union_collinear_contours_xld
原则上,前三个参数的度量值取决于每对轮廓的评估顺序,即哪个轮廓作为参考轮廓与另一个轮廓合并。中所有近似共线的轮廓,即大致位于同一条直线上的轮廓。合并后的轮廓由各输入轮廓的轮廓点依次连接而成。这些合并后的轮廓会和那些无法与其他轮廓合并的轮廓一起,在输出的 XLD 轮廓数组。此距离沿参考轮廓的回归线测量,即两条轮廓间间隙在参考轮廓回归线上的投影长度。:该参数定义了第二条轮廓与参考轮廓回归线之间的最大距离,此距离垂直于参考轮廓的回归线测量。:该参数控制对输入轮廓可能存在的属性的处理方式,例如,如果轮廓是通过。
2025-03-09 21:10:43
1012
原创 算子 segment_contours_xld
可广泛应用于工业检测、机器人导航和医学图像分析等领域。:将 XLD 轮廓分割为线段、圆弧或椭圆弧。:直接输出多边形近似结果。
2025-03-09 21:08:10
528
原创 算子 distance_contours_xld
属性来获取这些距离。有关轮廓属性的更多信息,请参阅。请注意,在许多应用中,为了获得准确的结果,建议使用。— 计算一个轮廓上的点到另一个轮廓的逐点距离。的属性,该属性存储了计算得到的距离。中各轮廓的最小距离。有关更多详细信息,请参考。如果所有参数都正确,该算子将返回值 2(的副本,其中每个点都带有一个名为。上的一个点开始计算的距离。模式的计算速度要快得多。会被多次使用,那么可以使用。
2025-03-09 21:02:34
530
原创 算子 union_collinear_contours_ext_xld
这样,不仅可以排除那些有某个值超过特定阈值的轮廓对进行合并,还可以排除所有值都接近极限的轮廓对。通过扩展参数,该算子提供了更高灵活性的共线轮廓合并功能,适用于工业检测中复杂边缘修复或几何特征增强场景。设计目的是限制合并后轮廓与回归线的偏差,因计算耗时且通常无需启用,默认值为-1。:当原算子的参数不足以满足需求,如允许一定重叠或需平衡不同因素对合并优先级的影响。:若轮廓A长度为30像素,B为20像素,则最大允许重叠为10像素(即。:总成本是各因素归一化值的加权和,权重参数用于调整不同因素的重要性。
2025-03-09 21:01:27
885
原创 算子 union_adjacent_contours_xld
合并后的轮廓由输入轮廓的轮廓点连接而成。如有必要,会翻转这些输入轮廓点的顺序,使得需要连接的轮廓端点在结果点列表中成为直接相邻的点。最终,所有通过合并新创建的轮廓以及无法与其他任何轮廓连接的输入轮廓都会在。原则上,这些参数的度量取决于每对轮廓的评估顺序,即哪个轮廓用作要与第二个轮廓连接的参考轮廓。请注意,在下面的图示中,左侧的轮廓始终用作参考轮廓。该距离是沿着参考轮廓的回归线测量的,即两个轮廓之间的间隙在参考轮廓回归线上的投影长度。合并相邻轮廓的顺序主要取决于相邻端点的距离:距离最小的轮廓首先连接。
2025-03-09 20:58:56
474
原创 算子 get_contour_global_attrib_xld
示例:沿校正网格边缘的 XLD 轮廓(红色和绿色,起点到终点的方向由箭头表示)。(单位:像素)是回归线单位法向量的列坐标,法向量从原点指向直线(见下图)。(单位:像素)是回归线单位法向量的行坐标,法向量从原点指向直线(见下图)。(单位:像素)表示轮廓点与回归线之间(欧几里得)距离的标准差(见下图)。(单位:像素)包含每个轮廓点与回归线之间欧几里得距离的平均值(见下图)。是根据轮廓点与回归线(黑色实线)之间的距离(黑色箭头)计算得出的。中的过渡类型,红色轮廓为 1.0,绿色轮廓为 0.0。
2025-03-08 21:39:49
597
原创 算子 regress_contours_xld
用于计算输入 XLD 轮廓的回归线参数,并将参数作为全局属性附加到输出轮廓中。回归线通过最小二乘法拟合所有轮廓点,支持多种异常值处理模式以提高拟合鲁棒性。• Contours (输入):输入的 XLD 轮廓。• RegressContours (输出):处理后的轮廓,包含回归线参数属性。• Mode (输入控制):异常值处理模式,可选:• :直接使用所有点计算,不处理异常值。• :忽略距离超过平均值的点。• :根据高斯分布加权距离。• :基于中位数标准差加权距离。• Iterations (输
2025-03-08 21:32:37
678
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人