HALCON-从入门到入门-最常用的算子-二值化

1.废话

图像处理中的二值化是一种将灰度图像转换为只有两种可能值(通常是0和255,分别代表黑色和白色)的过程。这个过程在数字图像处理中非常常见,因为它可以简化图像数据,突出图像的主要特征,并降低后续处理的复杂性。

二值化的关键步骤之一是选择一个阈值。这个阈值将用于确定图像中的每个像素是应该被赋予0(黑色)还是255(白色)。有许多方法可以用来确定这个阈值,包括全局阈值(对整个图像使用单一阈值)和局部阈值(根据图像的局部特性为每个像素或区域选择阈值)。

一旦确定了阈值,就可以对图像进行二值化操作了。对于每个像素,将其灰度值与阈值进行比较。如果灰度值大于或等于阈值,则将该像素设置为白色(或255);否则,将其设置为黑色(或0)。

二值化后,可能还需要进行一些后续处理来优化结果。例如,可以使用形态学操作(如腐蚀、膨胀、开操作和闭操作)来消除噪声、连接断裂的线条或断开重叠的线条。此外,还可以进行边缘检测、特征提取等操作来进一步分析图像。

2.实现效果

复制代码
threshold (GrayImage, Region, 128, 255)

halcon的二值化我觉得非常有意思。

因为它将二值化理解成了一个提取区域的一个操作。

在我图像上的 灰度值符合我要求的这些像素我全部提取出来,组成一个区域(region)

上图中这个红色的就是区域。

变量窗口中显示了这个区域的面积(以像素计算),中心点坐标啥的。

这是提取的整个图片上的白色部分,接着提取黑色部分来看看

正常运行,没有什么问题。

相关推荐
Kyrie6784 小时前
SkillOpt:把 Agent 的技能文件当作可训练参数
人工智能
冬奇Lab4 小时前
Workflow 系列(07):工程化与版本管理——Workflow 的 CI/CD
人工智能·工作流引擎
两万五千个小时4 小时前
Claude Code 上下文管理(一):为什么 Agent 会"失忆"?
人工智能·架构·开源
两万五千个小时4 小时前
Claude Code 上下文管理(二):零 Token 消耗的压缩三板斧
人工智能·程序员·开源
冬奇Lab4 小时前
每日一个开源项目(第150篇):caveman - 为什么用很多 token,少 token 也行——给 AI Agent 装上穴居人嘴巴
人工智能·开源·资讯
贵慜_Derek4 小时前
MAI-04|干净数据在工程上意味着什么:MAI 预训练数据治理
人工智能·算法·llm
feelmylife594 小时前
Agent 记忆设计架构 — 分层记忆:什么时候该记住,什么时候该忘记
人工智能
阿黎梨梨5 小时前
揭秘大语言模型的底层逻辑:从文本分词到高维向量的计算之旅
javascript·人工智能
moMo5 小时前
AI工程化 03:给模型喂上下文
人工智能