彩色图像转换灰度图像

这篇具有很好参考价值的文章主要介绍了彩色图像转换灰度图像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数字图像

     现在我们所接触到的图像绝大多数都是数字图像,图像数字化后,每个像素点就可以看作是一个小方格,每个小方格里面存储的就是图像的像素信息。如果把一副数字图像抽象出来,就是一个二维矩阵(灰度图)或者三维矩阵(彩色图)

彩色图像

     任何颜色都有红、绿、蓝三原色组成。用红、绿、蓝三元组的二维矩阵来表示(这样构成了三个通道),抽象出来一起构成了一个三维数组。三元组的每个数值也是在0-255之间,0表示相应的基色在该像素中没有,而255表示相应的基色在该像素中取得最大值。通过调节每个通道数灰度值的亮度,从而对三个通道中的三种基色进行不同搭配,进而构成了五颜六色的彩色世界!!我们可以把这三种基色(红、绿、蓝)看成三种颜料,每一个颜色通道里面的灰度等级看成每种颜料的调色板,灰度等级越大,那么对应的通道中的颜色就越接近三种基色。例如一个8bit的彩色图片,灰度等级为0~255,如果第0通道(R)里面灰度等级为255,这个通道显示的色板就是红色,如果灰度等级小于255,那个红色就会越来越淡,到0的时候就表示红色这个基色在0通道里面没有了,依次类推,第1通道(G)、第2通道(B)也是这个原理,然后将这三种色板的基色重叠在一起,就好比三种基色颜料混合在一起,这样就构成了彩色图像。

灰度图像

     每个像素的亮度用一个数值来表示,取值范围0-255,0表示黑、255表示白,其他值表示处于黑白之间的灰度,抽象出来构成了一个二维数组。灰度图像就没有色彩了,他的颜色是介于黑色到白色。255表示白色,0表示黑色,灰度等级处于之间就表示成不同等级的灰色。

图像转换

     彩色图像转换成灰度图像最基本的就是考虑怎么去分配三个通道里面的灰度等级,如果单纯直接将R通道里面的灰度值全部拿出来,也会构成一个灰度图像,同理,拿出G通道、B通道的拿出来,也是一副灰度图像,但是我们一般不这样做。查阅官方手册后,我们可以思考,通过以下几种方法来转换彩色图像的三个通道的灰度值:

    浮点算法:Gray=0.299R+0.587G+0.114B

    整数方法:Gray=(R30+G59+B*11)/100

    移位方法:Gray=(R28+G151+B*77)>>8

    平均值法:Gray=(R+G+B)/3

    最大值法:Gray = max(R,G,B)

    最小值法:Gray = min(R,G,B)

    仅取绿色:Gray=G

    上面公式中的R、G、B表示这三个通道里面的灰度值。为什么会出现这样不同的比例转换呢?因为我们人的眼睛对颜色的敏感程度是不一样的,我们对绿色更加敏感,其次是红色,最后是蓝色。所以对不同通道里的灰度值进行加权,加权后得到的灰度值就是我们转换后的灰度图的灰度值,所以这样得到的灰度图像更符合我们人眼的直观映像。转换后存到对应的二维数组里面,这个数组就是转换后的灰度图像抽象意义上的二维数组,显示出来就是一副灰度图像。这就是彩色图像转换成灰度图像的原理。

编写图像彩色空间转换灰度图像算法

(1)导包,读取图片,划分三个通道值;

彩色图像转换灰度图像

(2)采用三通道的平均值、最大值、最小值、经典的加权和OpenCV库的cvtColor函数转换作为最终灰度图像的值;

a. 创建储存图片矩阵,求平均值、最大值、最小值、经典的加权转换和cvtColor函数结果;

彩色图像转换灰度图像

b. 通过imshow显示图片;

彩色图像转换灰度图像

c.用原RGB图片经处理后得到以下图片;

彩色图像转换灰度图像

 

结论:在使用加权公式计算的结果与OpenCV内置函数的结果基本上一样,故两者最为接近,用最大值生成的图片比较明亮,平均值居中,最小值较暗。

(3)用Numpy内置函数优化程序代码,提高其运行速度。

a. 使用time库对优化的代码进行计时;

彩色图像转换灰度图像

 

b.通过imshow显示图片并加入监听“ESC”,点击时撤销全部图片;

彩色图像转换灰度图像

 

c.优化图片与for循环生成的数据一致;

彩色图像转换灰度图像

d.对比显示两者之间运行速度;

彩色图像转换灰度图像

结论:用Numpy中矩阵运算对数据进行处理比传统用for循环一个个像素的赋值处理运行速度得到了明显地提升,充分说明了Numpy在矩阵运算处理方面的优越性。

参考资料:https://blog.csdn.net/qq_44820108/article/details/121702791文章来源地址https://www.toymoban.com/news/detail-460673.html

到了这里,关于彩色图像转换灰度图像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 图像处理(二值图、灰度图、彩色图像)

    图像处理之二值图像、灰度图像、RGB图像 1、二值图像 定义:二值图像是值仅仅包含黑色和白色的图像 计算机在处理时,会把黑色像素点处理为0,白色像素点处理1。由于只用一个比特位就能表示,所以称之为二值图像。 2、灰度图 为了表达更丰富的颜色细节,灰度图采用更

    2024年02月06日
    浏览(57)
  • 使用Python批量转换彩色图片到灰度图片

    当涉及到图像处理和计算机视觉时,有时需要将彩色图片转换为灰度图片,一张一张使用PS等工具转换十分复杂且没有必要。今天介绍的这种方法用到了Pillow库。使用Pillow库来打开,加载并转换彩色图像,并将图像储存在另一个文件夹里。具体步骤如下所示。 目录  〇、准备

    2024年02月05日
    浏览(69)
  • MATLAB图像的频域低通滤波(灰度图像滤波+彩色图像滤波)

    数字图像处理完整MATLAB代码在我的资源可以看到,为方便下载,下面是百度网盘资源: 链接:https://pan.baidu.com/s/17S7PZJwwvb3PFMFVxqEY5w  提取码:HUAT 具体处理过程如下: 1.Imread 函数读取图像数据 2.RGB图像转换为灰度二维图 3.调用fft2函数对灰度二维图像进行DFT处理 4.调用abs函数取

    2024年02月05日
    浏览(57)
  • 图像处理(1):用Python实现彩色图像转为灰度图像的两种方法以及批量将图片转为灰度图

    用Python实现彩色图像转为灰度图像的两种方法介绍 这篇文章给大家主要介绍使用 Python 将彩色图像转为灰度图像的两种方法,以及用 Python 批量将图片转为灰度图的方法,供大家参考: 使用Python中的cv2库,它自带彩色转灰度的方法,并且代码非常简单。 先读取一张彩色图片,然

    2024年02月11日
    浏览(43)
  • 彩色图像灰度化 (RGB ⇒ Gray )(RGB ⇒ YUV)(Verilog)

    简介:         把一个彩色图像,也称为 RGB(红,绿,蓝)图像转化为灰度图像的行为称为彩色图像灰度化处理。也就是由原来的三个通道 RGB 转化为一个通道 YCrCb(从三个亮度值转换为一个亮度值), 也即 YUV(亮度,饱和度)的过程。常见的 24 位深度彩色图像 RGB888 中的每

    2024年01月25日
    浏览(45)
  • 基于 FPGA 的彩色图像灰度化的设计实现(image_stitche_x)

    rgb2gray 模块:彩色图像灰度化处理,对串口接收的彩色图像数据实时进行灰度化处理; image_stitche_x 模块:将串口接收的尺寸为 400 480 大小的彩色图像与灰度化处理后的 400 480 大小的图像数据以左右形式合并成一张 800*480 的图像。 提示:以下是本篇文章正文内容,下面案例可

    2024年02月05日
    浏览(43)
  • opencv使用applyColorMap()函数,可以将灰度图或彩色图转换成自定义的彩色图,或opencv提供的20多种色彩值

    1、applyColorMap()函数的使用: 使用applyColorMap()函数,可以将灰度图或彩色图转换成自定义的彩色图,或opencv提供的20多种色彩值 (1)函数原型: void applyColorMap(InputArray src, OutputArray dst, int colormap) src:源图像,灰度图或彩色图( CV_8UC1 or CV_8UC3 ); dst:在源图像上进行色彩映射

    2024年02月12日
    浏览(50)
  • 彩色图像处理之彩色图像直方图处理的python实现——数字图像处理

    彩色图像的直方图处理是一种重要的图像处理技术,用于改善图像的视觉效果,增强图像的对比度,或为后续的图像处理任务(如图像分割、特征提取)做准备。彩色图像通常由红色(R)、绿色(G)、蓝色(B)三个颜色通道组成,因此彩色图像的直方图处理相比单色图像更

    2024年01月23日
    浏览(66)
  • 数字图像处理第六章——彩色图像处理

    目录 引言 一、彩色基础 二、彩色模型 2.1 RGB彩色模型 2.2 CMY和CMYK彩色模型  2.3 HSI彩色模型 三、伪彩色图像处理 3.1 灰度分层 3.2 灰度到彩色的变换 四、彩色变换 ​编辑色调与色彩校正 五、平滑与锐化 5.1 平滑 5.2 锐化         在图像处理中,彩色的运用受两个主要因素

    2024年02月09日
    浏览(57)
  • 基于matlab的数字图像处理之彩色图像处理

    一、实验目的 (1)了解如何利用RGB分量生成简单的图像。 (2)熟练掌握RGB彩色模型转换到HIS彩色模型的过程。 (3)熟练掌握RGB图像的彩色分割。 (4)熟练掌握彩色图像如何在向量空间中进行边缘检测。 二、实验仪器(软件平台)     计算机、MATLAB软件 三、实验原理

    2024年02月06日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包