- 博客(94)
- 收藏
- 关注
原创 基于AlexNet的FashionMNIST图像分类项目
FashionMNIST 是一个广泛使用的图像分类数据集,尤其适用于入门级的深度学习图像分类任务。它包含了 10 个不同类别的时尚物品的灰度图像,每个类别代表一种不同的服装或鞋类,具体类别如下:0: T-shirt/top;1: Trouser;3: Dress;4: Coat;5: Sandal;6: Shirt;7: Sneaker;8: Bag;
2025-01-04 11:40:47
836
原创 Halcon图像金字塔
这一系列图像从大到小、自下而上构成一个塔状模型,原始图像为第1层(最底层),第2层图像大小仅为第1层的1/4,然后不断迭代,每一层图像包含的信息和细节程度都不相同。图(b)为使用inspect_shape_model算子生成的各层级的形状模板图像,要求最小一层的形状仍能保留基本的形状特征,据此可以选择合适的金字塔层级数。(4)得到了匹配的候选区域后,把这个结果映射到下一层,即直接将找到的匹配点的位置坐标乘以2,下一层的匹配搜索就在这个区域内进行。根据确定的层级数,利用模板图像创建n层的金字塔图像。
2024-09-06 12:46:49
895
30
原创 Halcon基于点的模板匹配
基于点的模板匹配主要是用在三维匹配中,通过寻找图像中对应的特征点,进行两幅重叠图像的拼接等操作,在相机标定的情况下被广泛应用。其主要原理是通过提取两幅图像之间的重要特征点实现匹配。把这些特征点作为匹配的输入,输出部分则是两幅图像之间的映射关系,支持图像的位移、旋转、缩放和透视形变。同时,也可以把两幅图中的一幅作为模板,另一幅看作检测图像的一个实例。该方法在透视形变的情况下无须标定就能完成匹配,但是运行时间会增加,增加的时间主要来自特征点的提取。
2024-09-06 12:46:17
432
1
原创 Halcon基于描述符的模板匹配
与基于透视形变的模板匹配类似,基于描述符的模板匹配能够在物体处于透视形变的状态下进行匹配,并且已标定和未标定的相机图像都适用。与透视形变不同的是,它的模板不是根据边缘轮廊创建的,而是根据特征点创建的。有纹理的平面图形非常适用于这种方法,尤其是对于旋转倾斜等场景中的匹配可以得到非常理想的结果。如图是一个基于描述符的模板匹配的例子。图(a)是一个有纹理的参考图像,从中选取一个有表面图案的矩形区域作为模板图像,并根据其图案中的特征点和特征描述创建模板。基于描述符的模板匹配只能用于有纹理的图像。
2024-09-05 14:31:18
625
10
原创 Halcon基于形变的模板匹配
形变分为两种,一种是基于目标局部的形变,另一种是由于透视关系而产生的形变。基于形变的模板匹配也是一种基于形状的匹配方法,但不同的是,其返回结果中不仅包括轻微形变的形状.形变的位置和参数,还有描述形变的参数,如旋转角度、缩放倍数等。图(a)为参考图像,根据图像的灰度阀值选择出文字部分作为局部形变模板图像,并创建基于局部形变的模板。在图(b)中,图像出现了轻微的形变和部分缺失,但仍匹配出了理想的结果。如果是在相机标定的情况下,通过相机参数,还可以计算出目标的三维位姿。如图是一个基于局部形变的模板匹配的例子。
2024-09-05 14:30:40
315
1
原创 Halcon基于组件的模板匹配
基于组件的模板匹配可以说是基于形状的模板匹配的加强版,加强的地方在于,这种方法允许模板中包含多个目标,并且允许目标之间存在相对运动(位移和旋转)。由于有多个ROI,且需要检测多个ROI之间的相对运动关系,因此这种方法与基于形状的模板匹配相比要稍微复杂一点,且不适用于失焦图像和轻微形变的目标。基于组件的模板匹配适用于组成部件之间有相对运动的物体,使用边缘特征定位物体,对于很多干扰因素不敏感,如光照变化、混乱无序等。其适用于多通道图像,不适用于纹理图像、聚焦不清的图像和形状变形的图像。
2024-09-04 12:55:48
459
16
原创 Halcon基于形状的模板匹配
基于形状的模板匹配,也称为基于边缘方向梯度的匹配,是一种最常用也最前沿的模板匹配算法。该算法以物体边缘的梯度相关性作为匹配标准,原理是提取ROI中的边缘特征,结合灰度信息创建模板,并根据模板的大小和清晰度的要求生成多层级的图像金字塔模型。下图是基于形状的模板匹配的一个例子。但是,在搜索过程中,如果目标图像发生大的旋转或缩放,则会影响搜索的结果,因此不适用于旋转和缩放比较大的情况。在图 (b)中,图像不仅存在尺寸的缩放,还发生了一定的旋转,但在这种情况下仍得到了理想的匹配结果。
2024-09-04 12:54:54
577
4
原创 Halcon基于相关性的模板匹配
基于相关性的模板匹配其实是另一种基于灰度值的匹配,不过它的特点是使用一种归一化的互相关匹配(Normalized Cross Correlation,NCC)来衡量模板图像和检测图像之间的关系,因此,在光照方面受的影响比较小。与基于形状模板的匹配算法相比,它的优势是对一些形状有细微变化的、纹理复杂的或者是聚焦模糊的检测图像都能检索得到。其原理是:把模板图像中的所有像素按列顺序组成一个行向量a,即模板的特征向量,然后在检测图像上寻找与模板最匹配的区域万,通过计算两个向量的夹角,来衡量匹配的概率,如公式所示。
2024-09-03 06:48:27
483
12
原创 Halcon基于灰度值的模板匹配
然后将检测图像与模板图像进行粗匹配,在检测图像与模板图像中任选一点,采取隔点拽索的方式计算二者灰度的相似性,这样粗匹配一遍得到粗相关点;由于这种方法是利用模板图像的所有灰度值进行匹配,但在光照发生变化的情况下灰度值会产生强烈的变化,因此该方法不能适应光照发生变化的情况,也不能用于多通道图像的匹配,一般只用于简单图像的匹配,如图所示。基于灰度值的模板匹配是最经典的模板匹配算法,也是最早提出来的模板匹配算法。这种方法适用于目标图像光照比较稳定的情况,多数情况下还是优先考虑基于相关性的匹配和基于形状的匹配。
2024-09-03 06:47:24
484
2
原创 Halcon提取边缘线段lines_gauss 算子
在需要提取线条宽度时,Sigma 的值应根据要提取的线条宽度进行调节,最小值应不小于w13(w为线条宽度,即线条直径的一半)。注意,如果线条的宽度过大,建议先对图像进行一定比例的缩小,以减少过度计算消耗的时间。还有一个常用的算子lines_gauss算子,也可以用于提取边缘线段,它的鲁棒性非常好,提取出的线段类型是亚像素精度的XLD轮廓。需要注意的是,lines_gauss算子的响应速度不算快,如果边缘的高阈值设置得偏低,会导致需要计算的边缘增多,可能会有明显的卡顿。参数1:Image为输入的单通道图像。
2024-09-02 08:09:42
1737
14
原创 Halcon提取彩色多通道图像的亚像素边缘edges_color_sub_pix算子
下面举一个例子说明edges_color_sub_pix 算子的用法,并测试不同的滤波器类型对计算结果的影响。输入图片仍是图(a)。图(b)为使用sobel_fast 算子进行边缘滤波的结果,但是因为背景噪声的影响,得到了许多不相关的线条,因此需要对滞后阈值的范围进行调整,否则会得到过多的背景线条。但也有许多地方是相似的,如edges_color_sub_pix算子也包括一些以“junctions”结尾的滤波器,这些特殊的滤波器更适用于一些断开的边缘,同时也使用了滞后阈值对滤波器提取出的边缘进行判断。
2024-09-02 08:09:12
565
2
原创 Halcon提取亚像素轮廓edges_sub_pix算子
参数3:Filter 为输入参数,与edges_image 算子中的Filter 参数类似,表示选择的滤波算子.默认的是canny,可选的有canny、derichel、derichel int4、deriche2、deriche2 int4、lanserl、lanser2、mshen、shen、sobel_fast,还有一些以“_junctions”结尾的滤波器,适用于一些非连接的边缘。图(b)将低闽值提高到了25,高阈值仍为50,可见边缘数量稍有减少,并且减少的都是与原边缘线条相连的部分。
2024-09-01 12:03:21
1080
8
原创 Halcon轮廓的处理
输出了目标的轮廓后,接下来还需要对轮廓进行处理,这主要基于以下3个原因。(1)对于某些测量任务而言,并不需要分析目标的整个轮廓,可能只需要局部的一段轮廓就够了。而有时由于 ROI(感兴趣区域)选择得过大,因此需要对提取的轮廓进行分割,以得到所需的部分。(2)在提取轮廓或线条的过程中,可能会有一些杂点或背景区域被误认为是轮廓也被提取了出来,所以需要做一些剔除,以得到完全需要的区域。(3)提取出的轮廓线条可能会有一些不连续,而某些检测中需要轮廓是闭合的,因此需要做一些连接或者填补。
2024-09-01 12:02:47
1930
2
原创 Halcon轮廓的生成
可以使用gen_contour_attrib_xld算子或者gen_contour_global attrib xld算子通过属性名称访问轮廓的某个属性,这些属性一般是以Tuple数组形式存放的。如果输入图像是多通道的彩色图像,可以选择edges_color_sub_pix算子,其与edges_sub_piy算子类似,也推荐选择sobel fast 滤波器,用于快速地提取边缘。与提取边缘类似,提取线条也有一个对应于彩色图像的算子,即lines_color算子,用于处理输入图像为多通道图像的线条提取。
2024-08-31 09:55:38
679
3
原创 Halcon滤波器 laplace 算子
图(a)为经过laplace 滤波后得到的图像,图(b)为使用zero_crossing 算子进行过零点检测后得到的图像。通过检测图像的二阶导数的零交点,可以得到边缘的位置。参数5:FilterMask为输入参数,表示 laplace 算子使用的滤波核或掩膜的类型。本例中使用 laplace算子进行边缘的滤波计算,并使用zero_crossing算子进行二阶导数的过零。参数4:MaskSize为输入的滤波器的核的尺寸。默认为3,可选范围是3~39的奇数。点检测,检测出来的就是二阶导数为0的点,即边缘的点。
2024-08-31 09:55:06
886
1
原创 Halcon滤波器derivate_gauss 算子
参数4:Component 为输入的要计算的导数或者特征。(3)角点检测:检测图像上的角点。参数2:DerivGauss 为输出的滤波后的图像。参数3:Sigma 为输入的高斯导数的sigma值。(5)gradient_dir:求梯度的方向。(4)gradient:求梯度的绝对值。参数1:Image 为输入的灰度图像。(7) yy:沿着y轴方向二阶求导。(6)xx:沿着x轴方向二阶求导。(2)边缘检测:提取图像的边缘。(2)x:沿着x轴方向求导。(3)y:沿着y轴方向求导。其各参数的含义如下。
2024-08-30 10:22:19
652
12
原创 Halcon边缘滤波器edges_image 算子
如果size为5、7、9、11等尺寸,则要在上述filter后面加上binomial来选择二项式滤波器,如sum_abs_binomial、sum_sqrt_binomial、thin_max_abs binomial、 thin_sum_abs _binomial、 x_binomial、 y_binomial等。输入图像仍为图(a)所示的灰度图像。sobel_amp 算子是一种常用的边缘滤波器,该算子是一阶导数的边缘检测算子,使用一个卷积核对图像中的每个像素点做卷积运算,然后采用合适的阈值提取边缘。
2024-08-30 10:21:41
777
1
原创 Halcon滤波器sobel_amp算子
如果size为5、7、9、11等尺寸,则要在上述filter后面加上binomial来选择二项式滤波器,如sum_abs_binomial、sum_sqrt_binomial、thin_max_abs binomial、 thin_sum_abs _binomial、 x_binomial、 y_binomial等。输入图像仍为图(a)所示的灰度图像。sobel_amp 算子是一种常用的边缘滤波器,该算子是一阶导数的边缘检测算子,使用一个卷积核对图像中的每个像素点做卷积运算,然后采用合适的阈值提取边缘。
2024-08-29 08:14:18
1490
7
原创 Halcon经典的边缘检测算子
(1)Sobel 算子在边缘检测的同时尽量减少了噪声的影响,比较容易实现。它对像素位置的影响进行了加权,因此效果比较好,是很常用的边缘检测方法。(2)Laplace 算子是一种各向同性算子,比较适用于只关心边缘的位置而不考虑其周围像素的灰度差值的情况。Laplace算子对孤立像素的响应要比对边缘或线的响应更强烈,因此只适用于天噪声图像。存在噪声的情况下,使用Laplace算子进行边缘检测之前需要先进行低通滤波处理。
2024-08-29 08:13:17
679
4
原创 Halcon边缘检测的一般流程
将符合条件的边缘提取出来,应用滤波器之后,可以使用阈值处理将图像中的高亮边缘提取出来。这里可以使用前文介绍的 threshold 算子,也可以使用hysteresis_threshold 算子减少非关键的边缘,将符合条件的边缘提取出来。对输入图像使用边缘滤波器是采集后的一个关键步骤,为了获取图像的边缘部分,在读取了输入图像之后,可以使用边缘滤波器获取边缘的梯度和方向。有时得到的边缘并不连续,因此还需要对边缘做一些处理,如生成轮廓、合并非连续的边缘、分离背景等。将结果绘制在窗口中,以表现直观的边缘提取效果。
2024-08-28 07:49:28
438
3
原创 Halcon实例:提取图像的纹理特征
对比度比较高,说明灰度的变化比较大,边界比较明显。而右边黄色矩形内的图像的纹理变化不大,灰度相关性高,表示纹理在行或者列方向都非常相似;上述代码使用gen_cooc_matrix算子和coocfeature_matrix算子计算指定区域的灰度共生矩阵,并分别在两个矩阵的对应窗口中显示灰度特征值的计算结果。举例说明,输入的是一幅灰度图像,分别选取其中两个矩形区域的灰度图像,分析其灰度变化。首先选取灰度变化较为明显的矩形1,然后选取灰度变化比较平滑的矩形2,生成灰度共生矩阵,观察二者的参数。
2024-08-28 07:48:55
783
1
原创 Halcon计算共生矩阵并导出其灰度值特征
但是,如果某些情况下需要连续评估多个方向的灰度共生矩阵,还是通过gen_cooc matrix 算子生成矩阵然后调用cooc_feature_matrix 算子计算纹理图像的特征更为有效。这里参数Direction多了一种选择—mean,这种方式表示在方向为mean的情况下,灰度值取的是在相邻4个方向上的灰度均值。参数8:Contrast(输出参数),表示灰度值的对比度,或者说是灰度值的反差。这个值越大,反差越明显。该算子的参数与cooc_feature_matrix算子的参数类似,各参数含义如下。
2024-08-27 07:53:33
516
9
原创 Halcon用共生矩阵计算灰度值特征
Halcon得到灰度共生矩阵之后,接下来可以使用cooc_feature_matrix 算子根据灰度共生矩阵(Coo_Matrix)计算能量(Energy)、相关性(Correlation)、局部均匀性(Homogeneity)和对比度(Contrast)。参数5:Contrast(输出参数),表示灰度值的对比度,或者说是灰度值的反差。参数2:Energy(输出参数),表示灰度值的能量值,即纹理变化的均匀性。这个值越大,灰度变化越稳定。参数4:Homogeneity(输出参数),表示灰度值的局部均匀性。
2024-08-27 07:52:54
394
2
原创 Halcon创建灰度共生矩阵
灰度共生矩阵的方向通常取0°、45°、90°、135°。该算子根据输入区域的灰度像素来确定(i,j)在某个方向彼此相邻的频率,将该频率存储在共生矩阵中的(i,j)位置。例如,灰度0和2相邻出现的频率为3次,则灰度共生矩阵的(0,2)坐标处的值为3。参数4:LdGray(输入参数),表示图中灰度值的级数,即有多少种灰度颜色。参数3:Matrix(输出参数),表示输出的灰度共生矩阵,为real类型。参数2:Image(输入参数),表示输入的单通道灰度图像。参数1:Regions(输入参数),表示输入的区域。
2024-08-26 09:12:54
726
8
原创 Halcon根据灰度特征值选择区域
当所有区域的特征都计算结束后,图像将在原来的灰度图上输出符合设定条件的区域。为了将这两部分区域进一步区分,这里使用了灰度特征中的deviation参数,因为两部分中的灰度偏差明显不同。湖面区域灰度变化比较小,而旁边的村庄区域灰度变化则比较明显,因此使用select_gray算子,用灰度偏差特征可以将偏差较小的湖面区域提取出来。参数6:Min(输入参数),表示最小的灰度值,默认为128。参数7:Max(输入参数),表示最大的灰度值,默认为255。参数2:Image(输入参数),表示输入的单通道图像。
2024-08-26 09:12:22
695
原创 Halcon灰度的平均值和偏差
intensity 算子用于计算单张图像上多个区域的灰度值的平均值和偏差。以图(a)为例,这里在经闽值处理后提取的区域中应用intensity算子,如图所示。这样即可提取出灰度图像中区域的灰度平均值和偏差,结果将显示在控制变量的窗口中。参数4:Deviation(输出参数),表示输出的单个区域的灰度偏差。参数1:Regions(输入参数),表示图像上待检查的一组区域。参数3:Mean(输出参数),表示输出的单个区域的灰度平均值。参数2:Image(输入参数),表示输入的灰度值图像。其各参数的含义如下。
2024-08-25 11:05:21
1851
7
原创 Halcon 灰度区域的面积和中心
area_center_gray算子与area_center算子类似,都可以求区域的中心。但不同的是,在用area center_gray 算子求灰度图像的面积时,图像的灰度值可以理解为图像的“高度”,其面积可以理解为“体积”。在求中心时,每个像素的灰度值可以理解为点的“质量”,计算得到的中心是图像区域的重心。与根据形状特征求面积的方法类似,灰度值图像也可以使用算子直接求出区域的面积和重心。这里用area_center_gray算子计算一幅灰度值图像的面积和中心。其各参数的含义如下。
2024-08-25 11:04:43
697
2
原创 Halcon区域的最大、最小灰度值
以图(a)为例,这里设置一个百分比值,设为5,即取直方图波峰与谷底之间的区域,向内收缩5%,得到的区域最大灰度值为201.0,最小灰度值为720。如果将 min_max_gray 算子的参数3改为0,则灰度直方图不收缩,仍是整个区域的灰度波峰与谷底之间的灰度值,那么结果会和9.2.1小节一样,最大灰度值仍为255.0,最小灰度值为1.0。min_maxgray 算子的原理是基于灰度直方图,取波峰和谷底之间的区域,区域两端各向内收缩一定的百分比,然后在这段范围内计算出最小灰度值和最大灰度值。
2024-08-24 08:17:44
1060
8
原创 Halcon区域的灰度特征值
视差图像的特点是,用灰度值表现对象的深度信息。这里使用gray_features算子提取最大和最小的灰度信息,用于推算目标的深度。该例输入的是一幅视差图像,是基于同一场景的两个视点的图像生成的。通过提取图像中的最大灰度值和最小灰度值,可以计算视差,进而进行深度估计。参数3:Features(输入参数),表示输入的特征的名字,详见9.1.3小节的介绍。参数1:Regions(输入参数),表示要检查的一组区域。参数4:Value(输出参数),表示输出的特征的值。参数2:Image(输入参数),表示灰度值图像。
2024-08-24 08:16:58
854
2
原创 Halcon计算最小外接矩形Smallest_rectangle2
以某农产品图像为例,求前景目标的最小外接矩形。这里使用smallest_rectangle2算子,将输入图像区域的最小外接矩形的中心和几何参数计算了出来,并在窗口中进行了绘制。参数5和6:Length1、Length2分别表示矩形的两个方向的内径(边长的一半)。上述代码实现了将暗背景上的较亮目标提取出来,求出了目标的最小外接矩形,并将轮廓绘制。参数2和3:Row、Column 为输出参数,表示最小外接矩形的几何中心坐标。参数4:Phi 为输出参数,表示最小外接矩形的角度方向。该算子用于求最小外接矩形。
2024-08-23 10:04:16
1090
14
原创 Halcon计算一个区域的最大内接圆
以几个简单图形为例,求各自的最大内接圆。这里使用inner_circle算子,将输入图像区域的。参数2和3:Row、Column为输出参数,表示最大内接圆的圆心坐标。最大内接圆的中心和半径计算了出来,并在窗口中进行了绘制。上述代码实现了提取图中较暗的区域,并绘制出了各区域的最大内接圆形。参数4:Radius 为输出参数,表示最大内接圆的半径。参数1:Regions 表示输入的区域。
2024-08-23 10:03:36
574
2
原创 Halcon根据特征值选择区域
除了可以用area_center 算子计算区域的面积以外,在Halcon中还可以使用area_holes算子计算图像中封闭区域(孔洞)的面积。该面积指的是区域中孔洞部分包含的像素数。一个区域中可能不只包含一个孔洞区域,因此该算子将返回所有孔洞区域的面积之和。部分为提取的孔洞区域,浅色部分为包含孔洞的区域,也是area_holes算子的输入。图(a)为输入的彩色图像,图(b)为经阀值分割并输出了孔洞面积的图像,其中深色。该代码实现了将输入区域中的孔洞部分提取出来,并计算孔洞的面积之和。
2024-08-22 08:07:32
1181
8
原创 Halcon计算封闭区域(孔洞)的面积
除了可以用area_center 算子计算区域的面积以外,在Halcon中还可以使用area_holes算子计算图像中封闭区域(孔洞)的面积。该面积指的是区域中孔洞部分包含的像素数。一个区域中可能不只包含一个孔洞区域,因此该算子将返回所有孔洞区域的面积之和。部分为提取的孔洞区域,浅色部分为包含孔洞的区域,也是area_holes算子的输入。图(a)为输入的彩色图像,图(b)为经阀值分割并输出了孔洞面积的图像,其中深色。该代码实现了将输入区域中的孔洞部分提取出来,并计算孔洞的面积之和。
2024-08-22 08:06:53
524
1
原创 Halcon区域的面积和中心点
图(b)为阈值分割后的图像,其中较亮部分为提取的区域,这些区域将作为area_center 算子的输入;图(c)为求面积与形状中心坐标的结果。其中文字标注的是对应区域的面积,文字的位置为中心位置设置行方向偏移后的位置。提到区域的特征,最常用的莫过于区域的面积和中心点坐标信息。该代码实现了将输入图像中的较暗的孔洞区域提取出来,计算各个独立区域的面积和中心坐。(2)中心:指的是几何中心点坐标,即单个区域的中心点行坐标均值和列坐标均值。(1)面积:指的是单个区域(输入区域可能不止一个)中包含的灰度像素数量。
2024-08-21 08:39:27
1117
9
原创 Halcon粘连木材图像的目标分割计数
本文以一个实际场景图片为例,介绍阈值处理与形态学计算的应用。案例图像如图所示,图(a)为输入的原始图像,图(b)为处理结果。图中计算出了木材的数量,并以不同的颜色对分割出的区域进行了区分。首先,从阈值处理开始,图(a)在进行全局阈值处理之后出现了一些问题。阈值设得高了,会蛮化边角的一些木头的局部区域;设得低了,会造成一些区域的粘连。另外,图像中还有一些木棍等小面积物体的干扰。如何在保留边角局部信息的情况下尽可能地防止粘连,是一个要仔细考虑的问题。
2024-08-21 08:38:53
680
1
原创 Halcon顶帽运算与底帽运算的应用
正如上文所说的,顶帽运算返回的像素部分是尺寸比结构元素小的,并且比较亮的局部小区域;底帽运算返回的像素部分是尺寸比结构元素小的,并且比较暗的局部小区域。因此,根据这些特性可以得出,顶帽运算与底帽运算适合一些前景目标比较小或者背景面积比较大的,需要根据灰度进行分割的应用场景。
2024-08-20 08:04:34
641
2
原创 Halcon底帽运算
底帽运算的原理是用原始的二值图像减去闭运算的图像。闭运算的目的是对某些局部区域进行“填补”,如填空洞、使分离的边缘相连接等。而底帽运算正是用来提取这些用于填补的区域的。图(a)为从二值图像中提取出的亮的区域,可见有一些空隙和不完整边缘。通过闭运算能对这些小的空隙进行填补,效果如图所示。这里使用底帽运算,刚好将闭运算填补的部分提取出来,如图(b)所示。由此可见,底帽运算返回的像素部分是尺寸比结构元素小的,并且比较暗的、闭运算中用于填补孔隙的局部小区域。
2024-08-19 07:52:50
530
10
原创 Halcon顶帽运算
顶帽运算的原理是用原始的二值图像减去开运算的图像。开运算的目的是“移除”某些局部像素,如去毛边、断开相邻的边缘等。而顶帽运算正是用来提取这些被移除的部分。图(a)为从二值图像中提取出的亮的区域,可见有一些杂点和毛边。图(b)中的高亮部分为经过开运算处理后的效果,杂点消失,毛糙的边缘也有所平滑。与之对比的是图(c),即不使用开运算,而使用顶帽运算的结果,得到的是开运算中被移除的边缘和杂点。由此可见,顶帽运算返回的像素部分是尺寸比结构元素小的,并且比较亮的、在开运算中被移除的局部小区域。
2024-08-19 07:51:56
463
1
原创 Halcon闭运算
这两步操作能将看起来很接近的元素,如区域内部的空洞或外部孤立的点连接成一体,区域的外观和面积也不会有明显的改变。与单独的膨胀操作不同的是,闭运算在填空隙的同时,不会使图像边缘轮廓加粗。图(a)中的灰色部分为经阀值处理后提取的区域,三角形区域有小的空洞,四边形区域有部分缺失。经闭运算处理后,图像上的大面积的区域依然能基本维持原状,而面积小的区域之间的空隙和区域内部的小孔将被封闭。除了上文中的closing算子以外,Halcon中与闭运算有关的算子如下。经过闭运算后,区域内的小缝隙被填补,选区变得封闭。
2024-08-18 09:00:16
865
6
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人