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

提取上边一排针和下边一排针,用什么特征好提取呢,去掉噪点和中间分割线

[复制链接]
rocy 发表于 2023-8-10 22:41:47 | 显示全部楼层 |阅读模式
图片链接:
链接:https://pan.baidu.com/s/1WlLeB1L98JGZDbQZtIokhw
提取码:vds3

我想把上边一排针和下边一排针提取出来,用什么特征好提取呢

  1. dev_set_draw('margin')
  2. read_image (Image00228, 'E:/lian_xi4/HaIcon/图片/针曹.png')
  3. *四个图像
  4. decompose4(Image00228, Image1, Image2, Image3, Image4)
  5. *获取针曹
  6. dev_display(Image1)
  7. *二值化
  8. threshold (Image1, Regions, 25, 250)
  9. fill_up(Regions, RegionFillUp)
  10. *闭运算 去除噪点
  11. closing_rectangle1(RegionFillUp, RegionClosing, 4, 4)
  12. *断开
  13. connection(RegionClosing, ConnectedRegions)
复制代码



奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
老老常 发表于 2023-8-11 08:34:05 | 显示全部楼层
二值化→Connection→面积筛选  不就出来了?
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
halcon2016 发表于 2023-8-11 09:12:16 | 显示全部楼层
88.jpg
  1. dev_set_draw('margin')
  2. read_image (Image00228, 'C:/Users/Administrator/Desktop/针曹.png')
  3. *四个图像
  4. decompose4(Image00228, Image1, Image2, Image3, Image4)
  5. *获取针曹
  6. dev_display(Image1)
  7. *二值化
  8. threshold (Image1, Regions, 25, 99)
  9. closing_circle (Regions, RegionClosing, 3.5)
  10. dilation_circle (RegionClosing, RegionDilation, 5.5)
  11. reduce_domain (Image1, RegionDilation, ImageReduced)
  12. mean_image (ImageReduced, ImageMean, 39, 39)
  13. dyn_threshold (ImageReduced, ImageMean, RegionDynThresh, 5, 'dark')
  14. connection (RegionDynThresh, ConnectedRegions)
  15. closing_circle (ConnectedRegions, RegionClosing1, 3.5)
复制代码

奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
qq1320400343 发表于 2023-8-11 09:38:21 | 显示全部楼层
灰度不直接出来啦~
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
锦瑟思云 发表于 2023-8-11 11:31:40 | 显示全部楼层
要提取针的话 貌似图片素材有难度,针槽没问题
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| rocy 发表于 2023-8-13 07:57:41 | 显示全部楼层
锦瑟思云 发表于 2023-8-11 11:31
要提取针的话 貌似图片素材有难度,针槽没问题

我试试的
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
freekun139com 发表于 2023-8-13 11:34:15 | 显示全部楼层
  1. *尝试一下,是要这个效果吗
  2. read_image (Image, 'D:/针曹.png')
  3. decompose4 (Image, ImageR, ImageG, ImageB, ImageA)

  4. *二值化
  5. gray_opening_shape (ImageG, ImageOpening, 5, 5, 'octagon')
  6. binary_threshold (ImageOpening, Region, 'max_separability', 'dark', UsedThreshold)
  7. fill_up(Region, RegionFillUp)
  8. closing_circle (RegionFillUp, RegionClosing, 3.5)

  9. *筛选针槽区域
  10. connection (RegionClosing, ConnectedRegions)
  11. select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 100, 600)

  12. *可根据中间长条进行水平纠偏
  13. select_shape_std (ConnectedRegions, MiddleBar, 'max_area', 70)

  14. *灰度投影用于位置区分
  15. gray_projections (ImageG, ImageG, 'simple', HorProjection, VertProjection)
  16. create_funct_1d_array (HorProjection, Function)
  17. funct_1d_to_pairs (Function, XValues, YValues)
  18. *间隔灰度在254左右, 找灰度值比230小的Y方向值
  19. Mask := YValues [<=] 230
  20. Selected := select_mask([0:|Mask|-1], Mask)
  21. RowValues := subset(XValues, Selected)
  22. ColValues := gen_tuple_const (|Selected|, 0)

  23. *根据点数组绘制投影结果区域
  24. gen_region_points (Projection, RowValues, ColValues)
  25. connection (Projection, ProjectionRegions)

  26. *上边一排针
  27. region_features (ProjectionRegions, 'row2', Value)
  28. select_shape (SelectedRegions, SelectedRegionsUP, 'row', 'and', 0, min(Value))

  29. *下边一排针
  30. region_features (ProjectionRegions, 'row1', Value)
  31. select_shape (SelectedRegions, SelectedRegionsDW, 'row', 'and', max(Value), 999999)

  32. dev_display (Image)
  33. dev_display (SelectedRegionsUP)
  34. dev_display (SelectedRegionsDW)
复制代码
排针筛选.png
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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