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

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

3天内不再提示

图像处理算法的从灰度化处理概念

lPCU_elecfans 来源:电子发烧友网 作者:电子发烧友网 2021-02-12 15:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

大多数的图像处理算法,都是从灰度化处理开始。当开始接触图像处理的童鞋,可能跟我一样,经常会看到诸如彩色图像存储、转化为灰度图,灰度化、二值化处理,对这些概念迷惑过,具体不知道要怎么做。那么今天小编就给大家详细介绍这两个概念。开篇之前,先对图像基础颜色RGB做简单了解。

在图像处理中,用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个像素点。

81629e0e-5825-11eb-8b86-12bb97331649.png

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

这个是R矩阵中的一部分

817c7acc-5825-11eb-8b86-12bb97331649.png

这个是G矩阵中的一部分

81af3fe8-5825-11eb-8b86-12bb97331649.png

这个是B矩阵中的一部分

81fbd25e-5825-11eb-8b86-12bb97331649.png

比如每个矩阵的第一行第一列的值分别为: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:

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

原文标题:还不会做图像识别?看完这个灰度化处理就懂了!

文章出处:【微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    2

    文章

    1096

    浏览量

    42444
  • 识别
    +关注

    关注

    3

    文章

    175

    浏览量

    32650

原文标题:还不会做图像识别?看完这个灰度化处理就懂了!

文章出处:【微信号:elecfans,微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    普源数字万用表高精度测量背后的ADC与信号处理算法

    普源(RIGOL)作为测试测量领域的知名品牌,其数字万用表以高精度、高稳定性著称。在实现高精度测量的背后,先进的模数转换器(ADC)技术与智能信号处理算法协同工作,构成了核心支撑。以下ADC架构
    的头像 发表于 01-16 16:19 278次阅读
    普源数字万用表高精度测量背后的ADC与信号<b class='flag-5'>处理算法</b>

    0到1,10+年资深LabVIEW专家,手把手教你攻克机器视觉+深度学习(5000分钟实战课)

    ;完整技术链,带你掌握工业4.0硬核技能!LabVIEW视觉学习困境1.技术体系复杂,学习路径模糊LabVIEW视觉开发需同时掌握图形化编程、图像处理算法(如NIVisio
    的头像 发表于 12-02 08:07 781次阅读
    <b class='flag-5'>从</b>0到1,10+年资深LabVIEW专家,手把手教你攻克机器视觉+深度学习(5000分钟实战课)

    使用Otsu阈值算法灰度图像二值化

    Otsu 算法是由日本学者OTSU于1979年提出的一种对图像进行二值化的高效算法,又称“最大类间方差法”。当我们对一个图象进行二值化操作的时候,需要根据一项灰度阈值来判决每个像素点应
    发表于 10-28 06:49

    慧视光电——全栈图像处理板供应商

    优先合作的对象。什么是全栈图像处理板供应商?全栈图像处理板供应商是指能够提供硬件设计、软件开发到系统集成、支持性AI软件开发平台等完整解决
    的头像 发表于 10-23 18:02 778次阅读
    慧视光电——全栈<b class='flag-5'>图像</b><b class='flag-5'>处理</b>板供应商

    中科亿海微Link-Sea-H6A图像处理套件

    实现摄像头接入、图像处理算法、显示输出等功能。开发套件集成板上FLASH、EEPROM、SDRAM、按键、LED灯等外设,其中SDRAM板载两片,每片容量为16M
    的头像 发表于 09-29 15:49 885次阅读
    中科亿海微Link-Sea-H6A<b class='flag-5'>图像</b><b class='flag-5'>处理</b>套件

    光纤图像处理卡设计原理图:520-基于ZU15EG 适配AWR2243的雷达验证底板 XCZU15EG架构高速信号处理

    高速信号处理, FPGA光纤, 光纤图像处理, XCZU15EG架构
    的头像 发表于 08-28 10:39 789次阅读
    光纤<b class='flag-5'>图像</b><b class='flag-5'>处理</b>卡设计原理图:520-基于ZU15EG 适配AWR2243的雷达验证底板 XCZU15EG架构高速信号<b class='flag-5'>处理</b>板

    FPGA 加持,友思特图像采集卡高速预处理助力视觉系统运行提速增效

    图像处理图像处理关键环节,可优化数据传输、减轻主机负担,其算法可在FPGA等硬件上执行。友思特FPGA
    的头像 发表于 08-13 17:41 1365次阅读
    FPGA 加持,友思特<b class='flag-5'>图像</b>采集卡高速预<b class='flag-5'>处理</b>助力视觉系统运行提速增效

    创龙 瑞芯微 RK3562 国产 2GHz 四核A53 工业开发板—ISP图像处理开发案例

    本文档主要演示TL3562-EVM评估板基于ISP图像参数调试工具对摄像头采集的图像进行标定,通过IQ参数文件(即ISP参数文件,下文统称为IQ参数文件)将摄像头采集的图像化处理后发
    的头像 发表于 07-21 14:29 889次阅读
    创龙 瑞芯微 RK3562 国产 2GHz 四核A53 工业开发板—ISP<b class='flag-5'>图像</b><b class='flag-5'>处理</b>开发案例

    【Banana Pi BPI-RV2开发板试用体验】移植音频处理算法回声消除降噪性能等效果评估

    一. 前言 虽然香蕉派 BPI-RV2 RISC-V 开发板主打路由器开发,但是其强劲的性能,所以进行实时音频处理等应用也是小菜一碟。 本文分享移植音频处理算法,评估算法运行效率,评估回声消除降噪等
    发表于 07-09 23:19

    使用k230,可以使用pipeline库,将输入的视频流进行二值化处理吗?

    关于使用k230,可以使用pipeline库,将输入的视频流进行二值化处理
    发表于 06-16 06:46

    半导体硅表面氧化处理:必要性、原理与应用

    特性。本文半导体硅表面氧化的必要性出发,深入探讨其原理、方法、优势以及在集成电路、微电子器件等领域的广泛应用,旨在揭示表面氧化处理在推动半导体技术发展中的重要作
    的头像 发表于 05-30 11:09 2846次阅读
    半导体硅表面氧<b class='flag-5'>化处理</b>:必要性、原理与应用

    ADAU1452/ADAU1451/ADAU1450 SigmaDSP数字音频处理器技术手册

    ADAU1452/ADAU1451/ADAU1450是获得汽车认证的音频处理器,数字信号处理能力远超早先的SigmaDSP ^®^ 器件。 其硬件架构经过重构,针对高效音频处理做了优化。 音频
    的头像 发表于 05-12 15:13 2108次阅读
    ADAU1452/ADAU1451/ADAU1450 SigmaDSP数字音频<b class='flag-5'>处理</b>器技术手册

    使用ALINX VD100开发板实现图像处理

    这是一块基于 AMD Versal Edge AI 平台的开发板,功能特别强大,可以用来做图像处理、人工智能等各种高阶应用。
    的头像 发表于 05-12 09:23 1340次阅读
    使用ALINX VD100开发板实现<b class='flag-5'>图像</b><b class='flag-5'>处理</b>