L形区域抠图后用动态阈值查找是否有亮斑,拐角处会被筛选出来,如何处理这种场景
这种场景是不是做平滑的时候受domain外区域影响了,求助大佬帮忙解释一下原理
这里如果把动态阈值调整到15就可以规避,想学习一下原理,以便遇到类似问题
主要代码如下:
- read_image (Image, 'L形图像动态阈值.png')
- decompose3 (Image, ImageR, ImageG, ImageB)
- binary_threshold (ImageB, RegionBinThresh, 'max_separability', 'light', UsedThreshold)
- opening_rectangle1 (RegionBinThresh, RegionOpening, 1, 15)
- opening_rectangle1 (RegionOpening, RegionOpening1, 15, 1)
- connection (RegionOpening1, ConnectedRegions2)
- select_shape (ConnectedRegions2, SelectedRegions2, 'area', 'and', 5000, 999999)
- union1 (SelectedRegions2, RegionUnion)
- smallest_rectangle2 (RegionUnion, Row, Column, Phi, Length1, Length2)
- gen_rectangle2 (Rectangle, Row, Column, Phi, Length1, Length2-8)
- intersection (SelectedRegions2, Rectangle, RegionIntersection)
- sort_region (RegionIntersection, SortedRegions, 'first_point', 'true', 'column')
- region_features (SortedRegions, 'width', Value1)
- tuple_mean (Value1, FinWidth)
- KernelHeight := int(FinWidth) / 2 * 2 + 1
- count_obj (SortedRegions, Number)
- gen_empty_obj (DefectRegions)
- for Index1 := 1 to Number by 1
- select_obj (SortedRegions, ObjectSelected, Index1)
-
- reduce_domain (ImageB, ObjectSelected, ImageReduced)
- crop_domain (ImageReduced, ImagePart)
- region_features (ObjectSelected, 'row1', Row1)
- region_features (ObjectSelected, 'column1', Column1)
- mean_image (ImagePart, ImageMean, 3, 3)
- mean_image (ImagePart, ImageMean1, 3, KernelHeight)
- dyn_threshold (ImageMean, ImageMean1, RegionDynThresh, 12, 'light')
- opening_circle (RegionDynThresh, RegionOpening2, 1.5)
- closing_circle (RegionOpening2, RegionClosing2, 2.5)
- connection (RegionClosing2, ConnectedRegions1)
- fill_up (ConnectedRegions1, RegionFillUp)
-
- select_shape (RegionFillUp, SelectedRegions1, 'area', 'and', 100, 99999)
- count_obj (SelectedRegions1, Number1)
- if (Number1 > 0)
- move_region (SelectedRegions1, SelectedRegions1, Row1, Column1)
- concat_obj (DefectRegions, SelectedRegions1, DefectRegions)
- endif
-
- endfor
- dev_display (Image)
- dev_display (DefectRegions)
复制代码
筛选效果图.png
|