zoukankan      html  css  js  c++  java
  • 【华为云技术分享】灰度图二值化算法

    【摘要】 目前最常用的快速二值化阈值确定方法为根据每一张目标图像来动态的计算平均灰度值。然后将灰度图像中的每个像素灰度值和此平均阈值作对比,高于平均阈值的记为“1”(白色),低于的则设置为“0”(黑色)。这种方法虽然会让造成部分背景像素点丢失,但却是最简单高效的处理方法。

    灰度图片中都可以用一个具体的灰度值Grav来量化每一个像素点。考虑到实际识别的二值特征,为了让被处理目标答题卡更加简单,计算量更少,速度更快,我们可以直接对灰度图片进行二值化处理。

    图像二值化简单来说就是讲整个灰度图片的目标像素点分为两个值。像素点到底属于哪个值需要拿其灰度值和设定阈值作对比,高于阈值的我们认为是“1”,低于的则为“0”。前面我们知道每个灰度的取值范围是0-255,所以假如我们把阈值设定为128,则整个灰度图就快速简单转换为黑白二值化图。在这个二值化图当中,黑白两种颜色分别用“0”和“1”来表示,这样子整个运算压力大幅度的降低,运算速度也得到很大的提升。

    但是实际上这个阈值的选取是关键,如果简单地将其认定为最大灰度的一半,效果很差,特别是不同答题卡二值化效果是不同的。在同一个图像中,阈值的不通会带来不同的答题卡识别效果,如果阈值选取过小,则二值化图像中白***域面积比较大,如果阈值选取过大,则黑***域面积比较大,所以需要能够动态获取阈值。

    目前最常用的快速二值化阈值确定方法为根据每一张目标图像来动态的计算平均灰度值。然后将灰度图像中的每个像素灰度值和此平均阈值作对比,高于平均阈值的记为“1”(白色),低于的则设置为“0”(黑色)。这种方法虽然会让造成部分背景像素点丢失,但却是最简单高效的处理方法。

    作者:开拓者

  • 相关阅读:
    51nod1179【思维】
    网络时间校准
    获取网络时间,减轻自己服务器的请求压力
    C# async/await异步编程深入理解
    C#中的异步编程--探索await与async关键字的奥妙之处,原来理解和使用异步编程可以这么简单
    "",string.Empty和null三者的区别
    三万字把SQL数据库的所有命令,函数,运算符讲得明明白白讲解,内容实在丰富
    C# await async Task
    C#异步编程 Task await的理解
    idea中更改下载源
  • 原文地址:https://www.cnblogs.com/huaweicloud/p/12384568.html
Copyright © 2011-2022 走看看