设为首页收藏本站
授权版本:2024_07
开启左侧

求助,L形的不规则图形如何进行动态阈值

[复制链接]
freekun139com 发表于 2023-5-5 18:33:36 | 显示全部楼层 |阅读模式
L形区域抠图后用动态阈值查找是否有亮斑,拐角处会被筛选出来,如何处理这种场景
这种场景是不是做平滑的时候受domain外区域影响了,求助大佬帮忙解释一下原理
这里如果把动态阈值调整到15就可以规避,想学习一下原理,以便遇到类似问题

主要代码如下:
  1. read_image (Image, 'L形图像动态阈值.png')
  2. decompose3 (Image, ImageR, ImageG, ImageB)

  3. binary_threshold (ImageB, RegionBinThresh, 'max_separability', 'light', UsedThreshold)
  4. opening_rectangle1 (RegionBinThresh, RegionOpening, 1, 15)
  5. opening_rectangle1 (RegionOpening, RegionOpening1, 15, 1)
  6. connection (RegionOpening1, ConnectedRegions2)
  7. select_shape (ConnectedRegions2, SelectedRegions2, 'area', 'and', 5000, 999999)

  8. union1 (SelectedRegions2, RegionUnion)
  9. smallest_rectangle2 (RegionUnion, Row, Column, Phi, Length1, Length2)
  10. gen_rectangle2 (Rectangle, Row, Column, Phi, Length1, Length2-8)
  11. intersection (SelectedRegions2, Rectangle, RegionIntersection)

  12. sort_region (RegionIntersection, SortedRegions, 'first_point', 'true', 'column')
  13. region_features (SortedRegions, 'width', Value1)
  14. tuple_mean (Value1, FinWidth)
  15. KernelHeight := int(FinWidth) / 2 * 2 + 1

  16. count_obj (SortedRegions, Number)
  17. gen_empty_obj (DefectRegions)
  18. for Index1 := 1 to Number by 1
  19.     select_obj (SortedRegions, ObjectSelected, Index1)
  20.    
  21.     reduce_domain (ImageB, ObjectSelected, ImageReduced)
  22.     crop_domain (ImageReduced, ImagePart)
  23.     region_features (ObjectSelected, 'row1', Row1)
  24.     region_features (ObjectSelected, 'column1', Column1)

  25.     mean_image (ImagePart, ImageMean, 3, 3)
  26.     mean_image (ImagePart, ImageMean1, 3, KernelHeight)
  27.     dyn_threshold (ImageMean, ImageMean1, RegionDynThresh, 12, 'light')
  28.     opening_circle (RegionDynThresh, RegionOpening2, 1.5)
  29.     closing_circle (RegionOpening2, RegionClosing2, 2.5)
  30.     connection (RegionClosing2, ConnectedRegions1)
  31.     fill_up (ConnectedRegions1, RegionFillUp)
  32.    
  33.     select_shape (RegionFillUp, SelectedRegions1, 'area', 'and', 100, 99999)
  34.     count_obj (SelectedRegions1, Number1)
  35.     if (Number1 > 0)
  36.         move_region (SelectedRegions1, SelectedRegions1, Row1, Column1)
  37.         concat_obj (DefectRegions, SelectedRegions1, DefectRegions)
  38.     endif
  39.    
  40. endfor

  41. dev_display (Image)
  42. dev_display (DefectRegions)
复制代码

筛选效果图.png

筛选效果图.png

L形图像动态阈值.png

奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
吐个泡泡 发表于 2023-5-5 20:52:31 | 显示全部楼层
本帖最后由 吐个泡泡 于 2023-5-5 21:24 编辑

应该是这样的
3.PNG
4.PNG
3.PNG
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| freekun139com 发表于 2023-5-6 11:25:49 | 显示全部楼层

感谢大佬指点,谢谢!
动态阈值原理是清楚的,这里不明白的是做平滑的时候对于不规则的图形,domain外的区域是怎么影响的(测试中crop后的图像domain也应该是L形的吧)
这里我理解是平滑算子的核高度大于了那块L形位置的高度,导致domain外的区域影响平滑后的图像,即这个平滑算子不保边
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Amos0804 发表于 2023-5-8 09:33:57 | 显示全部楼层
求老师发一个最新的DeepLearningTool23.04
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| freekun139com 发表于 2023-5-8 21:17:48 | 显示全部楼层
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
2910372828 发表于 2023-5-31 08:28:32 | 显示全部楼层
学习一下
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表