Halcon算子学习:图像阈值分割-threshold、binary_threshold、dyn_threshold算子

本文详细介绍了Halcon中的多种阈值分割算子,包括全局固定阈值threshold、自动全局阈值binary_threshold、局部动态阈值dyn_threshold、均值和标准偏差局部阈值var_threshold,以及双重阈值dual_threshold等。这些算子适用于不同的图像二值化场景,通过实例分析了它们的使用方法和适用条件,有助于理解和应用Halcon进行图像处理。
摘要由CSDN通过智能技术生成

前言

图像二值化是图像分析与处理中最常见最重要的处理手段,二值处理方法也非常多。越精准的方法计算量也越大。参考博客:

1.threshold-全局固定阈值分割

threshold(Image : Region : MinGray, MaxGray : )
——使用全局固定阈值分割图像
阈值从输入图像中选取灰度值g满足以下条件的像素点
在这里插入图片描述
满足条件的图像的所有点作为一个区域返回。如果传递多个灰度值间隔(MinGray和MaxGray的元组),则每个间隔返回一个单独的区域。对于向量场图像,阈值不应用于灰度值,而是应用于向量的长度。

应用一:利用灰度直方图确定阈值进行图像分割。一般是物体与背景之间存在一个明显的灰度差,直方图会存在两个波峰一个是目标一个是背景,那么阈值就是物体与背景之间的最小值。

read_image (Image, 'clip')
*计算直方图
gray_histo (Image, Image, AbsoluteHisto, RelativeHisto)
*将直方图转换为区域(包含直方图的区域;输入的直方图;直方图中心的行/列坐标;直方图的比例因子)
gen_region_histo (Region, AbsoluteHisto, 255, 255, 1)
*利用直方图获取阈值
histo_to_thresh (AbsoluteHisto,10, MinThresh, MaxThresh)
*期望阈值
TarGetGray:=23
for Index := |MinThresh|-1 to 0 by -1
 if(MinThresh[Index]<=TarGetGray)
 	 	 MinThresh:= MinThresh[Index]
  	 break
  	 endif
 endfor
 for Index1 := 0 to |MaxThresh|-1 by 1
 	  if (MaxThresh[Index1]>=TarGetGray)
  	  		 MaxThresh:=MaxThresh[Index1]
 	  break
      endif
 endfor
*全局阈值分割
threshold (Image, Region1, MinThresh, MaxThresh)

在这里插入图片描述

  • 36
    点赞
  • 196
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值