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

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

3天内不再提示

图像处理:灰度处理和二值化

新机器视觉 来源:新机器视觉 作者:新机器视觉 2020-11-27 10:22 次阅读

在图像处理中,用RGB三个分量(R:Red,G:Green,B:Blue),即红、绿、蓝三原色来表示真彩色,R分量,G分量,B分量的取值范围均为0~255,比如电脑屏幕上的一个红色的像素点的三个分量的值分别为:255,0,0。

像素点

像素点是最小的图像单元,一张图片由好多的像素点构成,下图是一张腿的图片。

查看这张图片的信息,尺寸是800 * 800 的,宽度是800像素,高度是800像素。也就是说这张图片是由一个800 * 800的像素点矩阵构成的(不理解矩阵是什么意思的话,可以把矩阵理解为C语言中的二维数组),这个矩阵是800行,800列,像素是图像的最小单元,这张图片的宽度是800个像素点的长度,高度是800个像素点的长度,共有800 * 800 = 640000个像素点。

因为一个像素点的颜色是由RGB三个值来表现的,所以一个像素点矩阵对应三个颜色向量矩阵,分别是R矩阵,G矩阵,B矩阵,它们也都是800 *800大小的矩阵。下面展示这张图片的一部分颜色矩阵数据:

这个是R矩阵中的一部分

这个是G矩阵中的一部分

这个是B矩阵中的一部分



比如每个矩阵的第一行第一列的值分别为:R:240,G:223,B:204,所以这个像素点的颜色就是(240,223,204),三个矩阵的值不一定一 一对应,这样做只是为了便于读者理解。

图像的灰度化

在理解了一张图片是由一个像素点矩阵构成之后,我们就知道我们对图像的处理就是对这个像素点矩阵的操作,想要改变某个像素点的颜色,我们只要在这个像素点矩阵中找到这个像素点的位置,比如第x行,第y列,所以这个像素点在这个像素点矩阵中的位置就可以表示成(x,y),因为一个像素点的颜色由红、绿、蓝三个颜色变量表示,所以我们通过给这三个变量赋值,来改变这个像素点的颜色,比如改成红色(255,0,0),可以表示为(x,y,(R=255,G=0,B=0))。

那么什么叫图片的灰度化呢?其实很简单,就是让像素点矩阵中的每一个像素点都满足下面的关系:R=G=B(就是红色变量的值,绿色变量的值,和蓝色变量的值,这三个值相等,“=”的意思不是程序语言中的赋值,是数学中的相等),此时的这个值叫做灰度值。

灰度处理的方法:

一般灰度处理经常使用两种方法来进行处理。

方法1:

灰度化后的R=(处理前的R + 处理前的G +处理前的B)/ 3

灰度化后的G=(处理前的R + 处理前的G +处理前的B)/ 3

灰度化后的B=(处理前的R + 处理前的G +处理前的B)/ 3

图片经过方法1进行灰度化后的效果如下:

方法2:

灰度化后的R = 处理前的R * 0.3+ 处理前的G * 0.59 +处理前的B * 0.11

灰度化后的G = 处理前的R * 0.3+ 处理前的G * 0.59 +处理前的B * 0.11

灰度化后的B = 处理前的R * 0.3+ 处理前的G * 0.59 +处理前的B * 0.11

图片经过方法2进行灰度化后的效果如下:

个人觉得第二种方法处理的效果比较好,第一种方法处理后的图片有点模糊。

图像的二值化

什么叫图像的二值化?二值化就是让图像的像素点矩阵中的每个像素点的灰度值为0(黑色)或者255(白色),也就是让整个图像呈现只有黑和白的效果。在灰度化的图像中灰度值的范围为0~255,在二值化后的图像中的灰度值范围是0或者255。

黑色:

二值化后的R = 0

二值化后的G = 0

二值化后的B = 0

白色:

二值化后的R = 255

二值化后的G = 255

二值化后的B = 255

那么一个像素点在灰度化之后的灰度值怎么转化为0或者255呢?比如灰度值为100,那么在二值化后到底是0还是255?这就涉及到取一个阀值的问题。

常用的二值化方法:

方法1:

取阀值为127(相当于0~255的中数,(0+255)/2=127),让灰度值小于等于127的变为0(黑色),灰度值大于127的变为255(白色),这样做的好处是计算量小速度快,但是缺点也是很明显的,因为这个阀值在不同的图片中均为127,但是不同的图片,他们的颜色分布差别很大,所以用127做阀值,白菜萝卜一刀切,效果肯定是不好的。

方法2:

计算像素点矩阵中的所有像素点的灰度值的平均值avg

(像素点1灰度值+...+像素点n灰度值)/ n = 像素点平均值avg

然后让每一个像素点与avg一 一比较,小于等于avg的像素点就为0(黑色),大于avg的 像素点为255(白色),这样做比方法1好一些。

方法3:

使用直方图方法(也叫双峰法)来寻找二值化阀值,直方图是图像的重要特质。直方图方法认为图像由前景和背景组成,在灰度直方图上,前景和背景都形成高峰,在双峰之间的最低谷处就是阀值所在。取到阀值之后再一 一比较就可以了。

下面给出一张值化后的效果图:(腿依稀可见。)

责任编辑:xj

原文标题:图像处理之灰度化和二值化

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

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

    关注

    27

    文章

    1274

    浏览量

    56532
  • 二值化
    +关注

    关注

    0

    文章

    13

    浏览量

    4224

原文标题:图像处理之灰度化和二值化

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

收藏 人收藏

    评论

    相关推荐

    DSP教学实验箱_数字图像处理操作_案例分享:5-13 灰度图像

    一、实验目的 学习灰度图像的原理,掌握图像的读取方法,并实现在LCD上显示
    发表于 07-25 15:03

    图像识别技术的原理是什么

    图像识别技术是一种利用计算机视觉和机器学习技术对图像进行分析和理解的技术。它可以帮助计算机识别和理解图像中的对象、场景和活动。 图像处理
    的头像 发表于 07-16 10:46 765次阅读

    DSP国产教学实验箱_嵌入式教程:5-7 直方图均衡

    的方法来实现;直方图均衡则通过使用累积函数对灰度进行“调整”以实现对比度的增强。 直方图均衡(Histogram Equalization)又称直方图平坦
    发表于 07-12 15:47

    DSP教学实验箱操作教程_数字图像处理:5-5 灰度图像直方图

    histArray); 程序使用 VLIB 的库来进行灰度直方图统计前的缓存初始,调用的程序源码和使用说明可以安装VLIB后查看。调用的初始函数中,第一个参数是直方图的边界,第
    发表于 06-25 15:10

    FPGA设计经验之图像处理

    后面和直方图做同步处理。 2)图像常常用8位、24位、32位来表示一个像素的灰度。因此,统计种类分别为2^8=256/2^24=16777216/2^32=4294967296,地
    发表于 06-12 16:26

    基于FPGA的实时边缘检测系统设计,Sobel图像边缘检测,FPGA图像处理

    *768分辨率的灰度图片如图6所示,对比MATLAB 与 FPGA 处理效果的不同。MATLAB和 FPGA进行边缘检测后的均以 40 为阈值进行
    发表于 05-24 07:45

    视觉分析中,灰度图片的数据传导问题

    求助大佬,视觉分析中,需要做Profile分析,如图,怎么让Profile以灰度图片分析。(图中是以图片做的分析)
    发表于 04-08 17:26

    嵌入式操作教程:7-1 基于CMOS数字摄像头的灰度转换实验

    一、实验目的 学习灰度转换的原理,掌握OV2640 摄像头和VPIF总线的工作原理,实现OV2640 摄像头采集图像并进行实时灰度转换显示在 LCD 上。 、实验原理 OV2640摄
    发表于 01-19 14:52

    图像连通区域的标记原理

    图像是一种由黑白两色组成的图像,其像素只有两种可能,分别对应黑色和白色。在
    的头像 发表于 01-05 14:28 737次阅读

    基于TIC6000的DSP教学实验箱操作教程:5-18 RGB24图像灰度转换(LCD显示)

    用红(R)、绿(G)、蓝(B)三原色的组合来表示每个像素的颜色。一般情况下,RGB彩色图像灰度有三种转化方案: (1)加权平均法 (2)平均值法:对彩色图像的每个像素中的R、G、B三
    发表于 01-04 15:04

    TI C6000教学实验箱操作教程:5-8 直方图均衡(LCD显示)

    利用线性或非线性的方法来实现;直方图均衡则通过使用累积函数对灰度进行“调整”以实现对比度的增强。 直方图均衡(Histogram Equalization)又称直方图平坦
    发表于 12-07 14:20

    FPGA图像处理方法

    图像在采集和传输的过程中,通常会产生噪声,使图像质量降低,影响后续处理。因此须对图像进行一些图像滤波、
    的头像 发表于 12-02 13:15 981次阅读

    嵌入式操作教程_DSP教学实验箱:5-6 灰度图像直方图(LCD显示)

    ,然后进行LCD显示的初始,最后读取工程目录下的BMP图像并进行直方图统计,并在 LCD 显示灰度大 小的统计结果。 视频分析与视觉库 VLIB 是一个TI 的软件库,可加速视频
    发表于 11-30 10:42

    基于图像处理的PCB自动检测系统的设计与研究(

    手动检测可以根据需要在采集图像时直接通过控制步进电机运动将CCD摄像头运动到待测PCB板的主要部位,在进行图像处理时也可以根据图像质量来选择与之 相适应的
    发表于 11-15 15:44 608次阅读
    基于<b class='flag-5'>图像</b><b class='flag-5'>处理</b>的PCB自动检测系统的设计与研究(<b class='flag-5'>二</b>)

    图像处理的相关算法介绍

    这种运算的一个例子见下图,这种运算几乎会出现在每一个机器视觉系统中,它的输入图像可以是灰度图像,也可以是
    发表于 11-06 09:55 693次阅读
    <b class='flag-5'>图像</b><b class='flag-5'>处理</b>的相关算法介绍