halcon图像腐蚀—erosion1

前言

针对阈值分割后的图像,经常存在很多的小目标,这些小目标是噪声,这时候就可以使用图像腐蚀的方法去除小目标。

1、图像腐蚀erosion1原理

原始图像A (前景为1/X)

. . . . . . . . .

. X X X X X . . .

. X X X X X . . .

. X X X X X . . .

. X X X X X . . .

. . . . . . . . .

圆形结构元素B (3x3圆形,原点在中心)

. . .

. X .

X X X

. X .

. . .

腐蚀步骤如下:

将结构元素的原点依次对准图像中的每一个像素,检查结构元素覆盖的图像区域:只有当结构元素所有为"1"的点,所覆盖的图像对应点也全部为"1"(前景)时,原点的像素在结果图像中才被保留为"1"(前景),否则,该点将被置为"0"(背景)。

以上图为例,当结构元素的原点移动到原始图像中靠内部的点时,它覆盖的"圆"字区域全是X,满足条件,所以该点输出为前景。但当它移动到物体边界时(例如最左侧的X),结构元素左侧的X覆盖到了背景区域.,不满足"全部为前景"的条件,因此该边界点被腐蚀掉,输出为背景。

腐蚀结果:原始图像四周的边界层X全部变成了背景.,物体整体缩小了一圈。

. . . . . . . . .

. . . . . . . . .

. . X X X . . . .

. . X X X . . . .

. . . . . . . . .

. . . . . . . . .

2、halcon算子应用

csharp 复制代码
dev_open_file_dialog ('read_image', 'default', 'default', Selection)
read_image (Image, Selection)
mean_image (Image, ImageMean, 15, 15)
dyn_threshold (Image, ImageMean, RegionDynThresh, 5, 'light')
gen_circle (structElement, 2,  2,1.5)
erosion1 (RegionDynThresh, structElement, RegionErosion, 1)

图像腐蚀一般发生在阈值分割之后,上面的erosion1就是发生在动态阈值分割dyn_threshold之后,erosion1算子共有4个参数。

第1个参数是输入区域(注意不是图像)

第2个参数是自定义的结构元素,这里就是定义的圆形结构元素

第3个参数是腐蚀后得到的区域

第4个参数是迭代次数,也就是腐蚀操作执行的次数

3、erosion1腐蚀图像处理后效果

1)处理前

1)处理后

能看出很多小目标噪声得到了有效的抑制。

马工撰写的年入30万+C#上位机项目实战必备教程(点击下方链接即可访问文章目录)

1、《C#串口通信从入门到精通》

2、《C#与PLC通信从入门到精通 》

3、《C# Modbus通信从入门到精通》

4、《C#Socket通信从入门到精通 》

5、《C# MES通信从入门到精通》

6、《winform控件从入门到精通》

7、《C#操作MySql数据库从入门到精通》

以上教程CSDN订阅已超过2000+~

相关推荐
冬奇Lab2 小时前
Workflow 系列(03):状态管理——持久化、幂等性与版本绑定
人工智能·工作流引擎
冬奇Lab2 小时前
每日一个开源项目(第146篇):openpilot - 开源自动驾驶辅助系统,曾在 Consumer Reports 评测中超过特斯拉 Autopilot
人工智能·开源·自动驾驶
吴佳浩4 小时前
AI 工程师知识地图:模型格式、框架、部署工具一次讲明白
人工智能·aigc·ai编程
IT_陈寒4 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
码农胖大海4 小时前
AI额度不够用的解决方案
人工智能
后端小肥肠4 小时前
小红书虚拟商品怎么做?我先用 Skill 跑通了壁纸品类
人工智能·aigc·agent
feiyu_gao5 小时前
从零搭建个人 AI 工作台:一个管理者的 3 个月实验
人工智能·aigc·团队管理
程序员cxuan6 小时前
一句话,让你用上 GPT-5.6
人工智能·后端·程序员
机器之心6 小时前
AI圈刚开始谈Loop Engineering,两位95后博士已经盯上了人类闭环数据
人工智能·openai