0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器视觉:图像二值化

新机器视觉 来源:新机器视觉 作者:新机器视觉 2021-03-29 14:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

传统的机器视觉通常包括两个步骤——预处理和物体检测。而沟通二者的桥梁则是图像分割(Image Segmentation)[1]。图像分割通过简化或改变图像的表示形式,使得图像更易于分析。

举个例子,食品加工厂新进了一批肉鸡,想通过视觉检测其美味程度。机器在预处理优化完图像之后,要先把图像中的鸡肉和背景分开,并对感兴趣的区域单独进行分析,才能做出快速准确的判断。

食品加工厂的视觉处理

然而,图像分割对愚蠢的AI来说并不容易。聪明的人类一眼就能看出下图中哪些东西能吃、哪些不能吃。但计算机要把这些东西分开却得花费一番功夫。

原图

图像分割结果

最简单的图像分割方法是二值化(Binarization)。二值图像每个像素只有两种取值:要么纯黑,要么纯白。

彩色图、灰度图、二值图对比

由于二值图像数据足够简单,许多视觉算法都依赖二值图像。通过二值图像,能更好地分析物体的形状和轮廓。二值图像也常常用作原始图像的掩模(又称遮罩、蒙版,Mask):它就像一张部分镂空的纸,把我们不感兴趣的区域遮掉。进行二值化有多种方式,其中最常用的就是采用阈值法(Thresholding)进行二值化。

计算机视觉里,一般用矩阵来表示图像。也就是说,无论你的图片看上去多么好吃,对计算机来说都不过是个矩阵而已。

在这个矩阵里,每一个像素就是矩阵中的一个元素。在三通道的彩色图像中,这个元素是由三个数字组成的元组。

彩色三通道图像

而对于单通道的灰度图像来说,这个元素就是一个数字。这个数字代表了图像在这个点的亮度,数字越大像素点也就越亮,在常见的八位单通道色彩空间中,0代表全黑,255代表全白。

单通道的灰度图

阈值法是指选取一个数字,大于它就视为全白,小于它就视为全黑。就像教室里的灯管开关,我们轻轻地推动它,如果突然间超过了某个阈值,灯就啪的一声亮了。

根据阈值选取方式的不同,可以分为全局阈值和局部阈值。

全局阈值

Global Method

全局阈值,指的是对整个图像中的每一个像素都选用相同的阈值。我们可以在Photoshop的图像-调整-阈值里体验这一操作:

Photoshop里的阈值

可以看到阈值色阶从1到255的移动过程中,图像变黑的区域越来越多。当阈值数字在某个特定范围内的时候,红米肠的轮廓清晰可辨。

正确的二值化使红米肠轮廓清晰可辨

在生产线环境下,光照是已知的,常常会设定一个固定的数字来作为全局阈值。但是在室外或者机器人比赛中,光照条件往往更加复杂*。

RoboMaster赛场的绚丽灯光

*此图采用了夸张手法,RoboMaster是个很正规的比赛,绝对不会在比赛的时候这么难为大家的。

同样是奥利奥冰激凌,在白天和晚上,摄像头看到的画面可能不太一样,常数阈值无法同时适应这两种情况。

明暗不同的画面

对于画面比较暗的晚上,我们需要一个比较低的阈值,比如说设定阈值为50,它在晚上能很清楚地把黑白两种颜色分开,但是到了白天就是一片白(左边);如果我们把阈值设置得比较高,比如说172,在白天能顺利分割,但在晚上就是一片黑(右边)。我们需要能够适应复杂环境的算法。

左边阈值=50,右边阈值=172

其实,稍作分析我们可以发现,这张图像中的颜色差异还是比较明显的,只有深浅两种颜色。因此,无论是在白天还是黑夜,它的色阶直方图都应该是两个明显的波峰,分别代表深色和浅色的区域。只是色阶直方图在白天会整体向右偏移,而在夜晚整体向左偏移。

图像的色阶直方图

如果选择两个波峰之间的波谷作为阈值,就能轻松地把这两类像素分开。但是图像的直方图往往是不连续的,有非常多尖峰和抖动,要找到准确的极值点十分困难。

日本工程师大津展之为这个波谷找到了一个合适的数学表达,并于1979年发表[2]。这个二值化方法称为大津算法(Otsu’s method)。大津算法类似于一维Fisher判别分析的离散化模拟。通过穷举法找到一个阈值数字,把这些像素切成两类,使得这两类像素的亮度的类内方差最小。类内方差指的是两类像素的方差的加权和,这里权指的是这类像素点数量占整个图像像素点数量的比值。

也许你的画面不会只有两坨差异较大的颜色,比如这款雪糕的就有三个尖峰。

三色雪糕(取雪糕部位的直方图)

这时候,只需对大津算法稍加扩展也可以完成。对大津算法的多级推广成为多大津算法(multi Otsu method)[3]。

局部阈值*

Local Method

*又称自适应阈值,Adaptive Thresholding

比赛中常常会有聚光灯照在一个特定区域,产生局部受光、局部不受光的画面。

局部受光的图像

对于局部受光的图像进行全局阈值,可能会出现“无论设置什么阈值参数,都无法满足全图要求”的尴尬。比如上面这幅图像,直接进行全局阈值时,左上半边的寿司全都显露出来时,右下半边还是一片黑色。

局部受光图像的全局阈值处理

这个时候我们就要用到局部阈值来处理了。其实,人的眼睛也是自带了这一步操作的。我们判定一个东西颜色深浅,往往会受到物体周边的颜色影响,这也就是为什么黑人的牙齿看上去更白。

局部阈值法假定图像在一定区域内受到的光照比较接近。它用一个滑窗扫描图像,并取滑窗中心点亮度与滑窗内其他区域(称为邻域, neighborhood area)的亮度进行比较。如果中心点亮度高于邻域亮度*,则将中心点标记为白色,否则标记为黑色。

局部阈值的滑窗

*这里提到的是局部阈值的基本方法,对于实际使用中常见的其他局部阈值方法,请参阅Chow-Kaneko自适应阈值法[4]。

局部阈值的应用非常广泛,特别是对白纸黑字的处理非常有效。光学字符识别(OCR)和二维码扫描的算法中,很多都用了局部阈值操作。

比如下面这张二维码就是一张典型的局部受光图像:

扫扫看,局部受光的二维码

如果对这张图片采用全局阈值(例如下图采用大津算法进行分割),是无论如何都无法正确分割的。

全局方法不能处理局部受光图像

而采用局部阈值方法就能很好地分割图像。从图片里可以明显观察到,局部阈值方法对于一大片干净区域的细节比较敏感,所以纸面上多出了很多我们原本注意不到的斑点。

局部方法分割二维码

◆◆◆

实际运用中,我们要根据需求选择不同的二值化方法,没有哪个方法是绝对完美的。

例如,在识别敌方机器人时,由于装甲片灯条是自发光物体,受环境光影响较小,为了提高程序运行效率,我们采用固定数字作为全局阈值:

基地自动反击

在能量机关的识别中,由于能量机关只有黑白两种颜色,我们采用了大津算法及其多种变体:

大能量机关各区域的二值图

而在空中机器人读取基地区二维码的时候又用到了局部阈值方法:

空中机器人识别基地

今天所讲的内容只是图像分割的冰山一角,作为视觉领域最古老的问题之一,时至今日仍有非常多图像分割的新算法被提出。

除了基于阈值的图像分割方法外,常用的分割方法还可以基于边缘(如Yanowitz-Bruckstein自适应阈值方法[5])、区域(如区域生长算法[6])等,它们在卫星图像处理、交通控制系统、工业生产监控、医疗影像等领域发挥着巨大的作用。

脑部组织图像分割

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    91

    文章

    41115

    浏览量

    302607
  • 图像分割
    +关注

    关注

    4

    文章

    182

    浏览量

    18822
  • 二值化
    +关注

    关注

    0

    文章

    13

    浏览量

    4436

原文标题:机器视觉入门之图像二值化

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    图像采集卡:藏在机器“眼睛”背后的枢纽,撑起视觉智能半边天

    为计算机能识别、处理的数字数据,它就是图像采集卡。它不显眼,却直接决定了图像的清晰度、传输速度和处理效率,是机器视觉系统中不可或缺的“数据中转站”,更是撑起各类
    的头像 发表于 04-21 14:55 127次阅读
    <b class='flag-5'>图像</b>采集卡:藏在<b class='flag-5'>机器</b>“眼睛”背后的枢纽,撑起<b class='flag-5'>视觉</b>智能<b class='flag-5'>化</b>半边天

    图像采集卡:机器视觉系统的“数据中枢”,解锁精准成像新可能

    在工业自动、智能检测、医疗影像、安防监控等领域,机器视觉技术正成为提升效率、保障精度的核心支撑。而在整套机器视觉系统中,
    的头像 发表于 02-25 15:59 891次阅读
    <b class='flag-5'>图像</b>采集卡:<b class='flag-5'>机器</b><b class='flag-5'>视觉</b>系统的“数据中枢”,解锁精准成像新可能

    机器视觉系统之工业相机解读

    机器视觉系统是一种模拟人类视觉功能,通过光学装置和非接触式传感器获取图像数据,并进行分析和处理,以实现对目标物体的识别、测量、检测和定位等功能的智能
    的头像 发表于 02-11 17:02 684次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>视觉</b>系统之工业相机解读

    工业机器视觉中的关键组件:图像采集卡选型与应用

    在工业自动升级浪潮中,机器视觉系统作为“生产之眼”,承担着产品质检、精确定位、尺寸测量等重要任务,而图像采集卡便是这套系统中不可或缺的关键组件。它不仅是连接工业相机与后端处理单元的信
    的头像 发表于 01-19 16:02 320次阅读
    工业<b class='flag-5'>机器</b><b class='flag-5'>视觉</b>中的关键组件:<b class='flag-5'>图像</b>采集卡选型与应用

    机器视觉的核心技术和应用场景

    机器视觉正通过让机器“看见”并解读视觉数据来为行业带来变革,进而提升自动水平、质量控制效率与运营效能。本文将深入探讨
    的头像 发表于 12-29 16:32 1046次阅读

    自动设备机器视觉检测光源产品的优势和劣势

    机器视觉光源,缺陷检测,自动视觉检测机器视觉光源
    的头像 发表于 11-27 10:17 472次阅读
    自动<b class='flag-5'>化</b>设备<b class='flag-5'>机器</b><b class='flag-5'>视觉</b>检测光源产品的优势和劣势

    图像采集卡:机器视觉时代的图像数据核心枢纽

    一、图像采集卡的技术本质:从信号到数据的“转换器”与“传输通道”图像采集卡(ImageCaptureCard)是机器视觉系统的核心硬件组件,本质是通过专用芯片(如FPGA、ASIC)实
    的头像 发表于 11-12 15:15 866次阅读
    <b class='flag-5'>图像</b>采集卡:<b class='flag-5'>机器</b><b class='flag-5'>视觉</b>时代的<b class='flag-5'>图像</b>数据核心枢纽

    使用Otsu阈值算法将灰度图像

    Otsu 算法是由日本学者OTSU于1979年提出的一种对图像进行的高效算法,又称“最大类间方差法”。当我们对一个图象进行
    发表于 10-28 06:49

    iTOF技术,多样的3D视觉应用

    视觉传感器对于机器信息获取至关重要,正在从维(2D)发展到三维(3D),在某些方面模仿并超越人类的视觉能力,从而推动创新应用。3D 视觉
    发表于 09-05 07:24

    图像采集卡与工业相机:机器视觉“双剑合璧”的效能解析

    在工业自动、科学研究和安防监控等关键领域,“看得清”是无数决策的基础。机器视觉系统如同为机器赋予慧眼,而在这双慧眼中,工业相机与图像采集卡
    的头像 发表于 08-19 12:39 950次阅读
    <b class='flag-5'>图像</b>采集卡与工业相机:<b class='flag-5'>机器</b><b class='flag-5'>视觉</b>“双剑合璧”的效能解析

    易灵思与思特威第机器视觉大会即将举办

    去年盛夏,首届易灵思与思特威机器视觉技术大会点燃了行业创新的火花。易灵思惊艳亮相的 TJ375 FPGA与思特威的工业CMOS图像传感器系列交相辉映,为机器
    的头像 发表于 08-13 09:53 1584次阅读

    机器视觉系统工业相机的成像原理及如何选型

    机器视觉系统是一种模拟人类视觉功能,通过光学装置和非接触式传感器获取图像数据,并进行分析和处理,以实现对目标物体的识别、测量、检测和定位等功能的智能
    的头像 发表于 08-07 14:14 1811次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>视觉</b>系统工业相机的成像原理及如何选型

    工业相机图像采集卡:机器视觉的核心枢纽

    工业相机图像采集卡是用于连接工业相机与计算机的关键硬件设备,主要负责将相机输出的图像信号转换为计算机可处理的数字信号,并实现高速、稳定的数据传输。它在工业自动机器
    的头像 发表于 05-21 12:13 1040次阅读
    工业相机<b class='flag-5'>图像</b>采集卡:<b class='flag-5'>机器</b><b class='flag-5'>视觉</b>的核心枢纽

    EtherCAT科普系列(8):EtherCAT技术在机器视觉领域的应用

    机器视觉是基于软件与硬件的组合,通过光学装置和非接触式的传感器自动地接受一个真实物体的图像,并利用软件算法处理图像以获得所需信息或用于控制机器
    的头像 发表于 05-15 17:09 1825次阅读
    EtherCAT科普系列(8):EtherCAT技术在<b class='flag-5'>机器</b><b class='flag-5'>视觉</b>领域的应用

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    的cv_bridge库,可以轻松实现ROS图像消息与OpenCV格式的转换,这在实际开发中极为便利。 视觉巡线与维码识别的应用 视觉巡线是机器
    发表于 05-03 19:41