- 自定义算法模块添加多幅图像输入的方法
- 自定义算法模块点集输入、输出实现方法
- 自定义算法模块输出和显示矩形检测框的方法
- 自定义算法模块获取输入直线的方法
- 自定义算法模块打印日志的方法
- YoloV5ForVisionMaster
- Sauvola二值化处理在图像处理应用的优势介绍分析
我们常见的图像二值化算法大致可分为全局阈值方法与局部阈值方法这两种类型。其中OTSU算法是全局阈值的代表,而Sauvola算法则是局部阈值方法的标杆。Sauvola算法的输入是灰度图像,它以当前像素点为中心,根据当前像素点邻域内的灰度均值与标准方差来动态计算该像素点的阈值。
1. Sauvola算法公式介绍
假定当前像素点的坐标为(x,y),以该点为中心的领域为r*r,g(x,y)表示(x,y)处的灰度值,Sauvola算法的步骤为:
2. 使用VM平台的自定义模块基于Sauvola二值化开发
使用VM平台的算子模块生成工具,基于这个Txy=m(x,y)*[1+k*(s(x,y)/R-1]公式实现的,具体开发模块展现如下
3. Sauvola二值化处理效果
1. 测试情况说明
如前面叙述情况,Sauvola算法是基于局部二值化方法,而我司的VM平台的图像二值化大多都是基于全局二值化方法。因此,在背景和前景灰度分布相差不大且遇到图像灰度值不均匀或者灰度值小幅度动态变化,使用Sauvola算法进行分割有较好适应性。
以如下图为实验测试图,该图的字符背景存在渐变且类似灰度不均匀情况,以下需要将字符使用二值化方法将其提取出来,具体测试对比情况如下
小结:可以看出在图像灰度不均或者对比度较差情况下,使用Sauvola算法二值化处理的图像从对比度、伪噪点、与背景分割效果来说,是可以获得较理想的图像效果。
1. 纺织行业的经编断纱检测应用
应用效果说明:如上图所示,在原始断纱缺陷图像中标记红色方框的是缺陷区域,按以往如果要识别这类对比度不高的缺陷,我们一般选择是需要使用深度学习方式进行检测,但该深度学习方案的项目成本较高且实施调试周期较长,对于用户而言是不具备性比的方案。现在有了Sauvola二值化处理方案,就可以考虑使用传统视觉检测工具,使用Sauvola算法处理可以将其缺陷与背景较好分割出来,我们就可以使用Blob分析工具进行检测判定结果。
2. 锂电行业的涂布污点检测应用
应用效果说明:如上图所示,特别在背景与前景对比度差且灰度会动态变化场景下,使用Sauvola算法的同一套运行参数下,可以适应分割出缺陷区域,可以获得较好的图像成像效果,便于后续检测流程处理和提高检测稳定性。