资源

链接:https://pan.baidu.com/s/14rj-BKH-7wtF-DCIrTm17w
提取码:re93

图片

代码

* 1.读取并显示图片 *************************************
dev_close_window ()
read_image (Image, './img.bmp')
get_image_size (Image, Width, Height)
dev_open_window_fit_size (0, 0, Width, Height, -1, -1, WindowHandle)
dev_display (Image)set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
dev_set_draw ('margin')
dev_set_line_width (3)* 2.初步分割 *************************************
threshold (Image, Region, 0, 100)
* 腐蚀运算
erosion_circle (Region, RegionErosion, 4.5)
* 开运算
opening_circle (RegionErosion, RegionOpening, 1.5)
* 连通域分析
connection (RegionOpening, ConnectedRegions)* 3.初步分割筛选 *************************************
* 连通域筛选
select_shape (ConnectedRegions, SelectedRegions, ['area','rectangularity'], 'and', [100,0.5], [700,1])
* 产品区域膨胀
dilation_circle (SelectedRegions, RegionDilation, 4.5)
* 减去已经筛选的产品
difference (ConnectedRegions, RegionDilation, SelectedRegions1)* 最终结果变量
gen_empty_obj (ObjectsConcat)
concat_obj (RegionDilation, ObjectsConcat, ObjectsConcat)* 4.循环分割筛选 *************************************
for Index := 1 to 7 by 1* a.粘连产品中间区域 ************************************** 粘连产品凸性处理shape_trans (SelectedRegions1, RegionTrans, 'convex')* 凸性区域 - 粘连区域difference (RegionTrans, SelectedRegions1, RegionDifference)* 去除小区域opening_circle (RegionDifference, RegionOpening1, 3.5)* 链接中间区域closing_circle (RegionOpening1, RegionClosing, 30.5)* 粘连产品减去中间区域difference (SelectedRegions1, RegionClosing, RegionDifference1)* 连通域分析connection (RegionDifference1, ConnectedRegions1)* b.粘连产品 分割后筛选 ************************************** 筛选分割后 单个产品select_shape (ConnectedRegions1, SelectedRegions2, 'area', 'and', 100, 700)* 膨胀 恢复原始区域dilation_circle (SelectedRegions2, RegionDilation1, 4.5)* 单个产品添加到结果中去concat_obj (ObjectsConcat, RegionDilation1, ObjectsConcat)* c.去除分割后的产品 再次筛选产品 ************************************** 去除分割后的产品difference (SelectedRegions1, RegionDilation1, RegionDifference2)* 再次筛选分割的产品select_shape (RegionDifference2, SelectedRegions3, 'area', 'and', 100, 700)* 膨胀dilation_circle (SelectedRegions3, RegionDilation2, 4.5)* 分割后的产品 添加到结果中去concat_obj (ObjectsConcat, RegionDilation2, ObjectsConcat)* d.仍然粘连的产品 进入下次循环 *************************************select_shape (RegionDifference2, SelectedRegions1, 'area', 'and', 700, 99999)* 统计仍然粘连的产品count_obj (SelectedRegions1, Number)* 退出循环if(Number == 0) breakendif
endfor* 6.筛选与中心交叉点计算 *****************************************
select_shape (ObjectsConcat, SelectedRegions4, 'area', 'and', 200, 99999)
area_center (SelectedRegions4, Area, Row, Column)
gen_cross_contour_xld (Cross, Row, Column, 15, 0.785398)
count_obj (ObjectsConcat, Number1)
* 5.显示结果 *****************************************
dev_display (Image)
* dev_display (ObjectsConcat)
disp_message (WindowHandle, '产品个数:' + Number1 $'.2f', 'window', 10, 10, 'black', 'true')
dev_display (Cross)

结果

Halcon 图像分割(粘连物体循环分割)相关推荐

  1. 基于Kmeans聚类算法的图像分割(色彩分割)实战

    基于Kmeans聚类算法的图像分割(色彩分割)实战 图像分割是将一幅图像分割成多个像素区域的任务.属于同一对象类型的所有像素都被分配到同一类别下.图像分类是给一副完整的图像一个类别,目标检测是检测到图 ...

  2. halcon学习之阈值分割(threshold、binary_threshold、dyn_threshold、var_threshold、auto_threshold、fast_threshold、)

    1. threshold(Image : Region : MinGray, MaxGray : ) 全局阈值分割,适用于环境稳定,目标与背景存在明显的灰度差的场合. 应用1:利用灰度直方图确定阈值进 ...

  3. 7.2 Python图像处理之图像分割-单阈值分割

    7.2 Python图像处理之图像分割-单阈值分割 文章目录 7.2 Python图像处理之图像分割-单阈值分割 1 算法原理 2 代码 3 效果 1 算法原理 单阈值分割算法原理: 单阈值分割是指将 ...

  4. 图像分割与视频分割方法

    图像分割 图像分割介绍 1.普通分割 2.语义分割 3.实例分割(instance segmentation) 传统的图像分割方法 1.基于阈值的图像分割 单阈值分割 局部阈值分割 阈值的选取 直方图 ...

  5. 深度学习之图像分割(语义分割)

    深度学习之图像分割 深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向,是指通过学习样本数据的内在规律和表示层次,进而挖掘出数据 ...

  6. 图像分割技术语义分割代码_用5行代码对150类对象进行语义分割

    图像分割技术语义分割代码 It is now possible to perform segmentation on 150 classes of objects using ade20k model ...

  7. matlab函数im2bw_图像分割之阈值分割(matlab)(转载)

    转载自:https://blog.csdn.net/weixin_39824223/article/details/112249214 matlab函数im2bw_图像分割之阈值分割(matlab) ...

  8. Halcon机器视觉实战--分水岭分割+距离变换实现粘连物体图像分割

    分水岭的原理 把图像的灰度看作高度图,图像中每个像素点的灰度值看作该点的高度,高灰度值代表山脉,低灰度值代表盆地,每个局部最小值及其周围区域称为集水盆,而集水盆的边界则形成分水岭. 分水岭算法的步骤 ...

  9. 做形态学方法的团队_图像分割实战-分水岭分割方法和GrabCut 算法

    1. 分水岭分割方法 它是依赖于形态学的,图像的灰度等级不一样,如果图像的灰度等级一样的情况下怎么人为的把它造成不一样?可以通过距离变换实现,这样它们的灰度值就有了阶梯状的变换.风水岭算法常见的有三种 ...

最新文章

  1. sqlmap 连接mysql_sqlmap连接Mysql实现getshell | CN-SEC 中文网
  2. React 教程:快速上手指南
  3. mysql常用日期时间函数_MySql常用日期时间函数
  4. vue中引入jquery
  5. Qt修炼手册7_图形:用户自定义QGraphicsItem
  6. linux--select
  7. UVA - 10003 - Cutting Sticks
  8. 面象对象设计6大原则之一:单一职责原则
  9. 烦人的恶意骚扰电话终于要被整治了!移动联通齐发声明...
  10. python书籍pdf文档密码-Python玩转PDF的各种骚操作
  11. 推荐系统组队学习——WideDeep
  12. https默认端口_Java企业信息化平台O2OA如何配置服务器来启用HTTPS(SSL)
  13. 最好用的Redis客户端
  14. 前端怎么画三角形_css如何画三角形?
  15. Laragon 升级composer
  16. python实现指纹识别毕业论文_(完整版)指纹识别系统本科毕业论文
  17. 色度学:RGB颜色空间与CMYK颜色空间的比较与图示
  18. ALEXA站长全攻略(转)
  19. arm解锁 j-flash_J-Link固件烧录以及使用J-Flash向arm硬件板下载固件程序
  20. 【读书笔记】AUTOSAR规范与车用控制器软件开发02

热门文章

  1. [笔记分享] [遥控器]Android红外及蓝牙遥控器适配流程
  2. swift3 多个异步网络请求转同步
  3. MyBase 7.0 Desktop 30天破解
  4. 电视直销价格功能虚假宣传成风 国产手机透支健康
  5. kali-Linux局域网渗透之Win2003
  6. iOS设置圆角的4种方法
  7. 计算机网络发展(简述)
  8. 大印文化:李万博老师《总裁演说思维》课程笔记(14)
  9. HDU1215七夕节(约数和定理)
  10. 在微型计算机中内存是按什么编制,微机内存按什么编址