灰度于RGB彩色

图像灰度值的概念是什么?灰度也可以认为是亮度,简单说就是色彩的深浅程度。

实际上在我们的日常生活中,通过三原色色彩深浅的组合,可以组成各种不同的颜色。产品能够展现的灰度数量越多,也就意味着这款产品的色彩表现力更加丰富,能够实现更强的色彩层次。例如三原色16级灰度,能显示的颜色就是16×16×16=4096色。不过目前的产品256级灰度已经非常地普遍了。

  所谓颜色或灰度级指黑白显示器中显示像素点的亮暗差别,在彩色显示器中表现为颜色的不同,灰度级越多,图像层次越清楚逼真。灰度级取决于每个像素对应的刷新存储单元的位数和显示器本身的性能。如每个象素的颜色用16位二进制数表示,我们就叫它16位图,它可以表达2的16次方即65536种颜色。如每一个象素采用24位二进制数表示,我们就叫它24位图,它可以表达2的24次方即16777216种颜色。

  灰度就是没有色彩,RGB色彩分量全部相等。如果是一个二值灰度图象,它的象素值只能为0或1,我们说它的灰度级为2。用个例子来说明吧: 一个256级灰度的图象,RGB(100,100,100)就代表灰度为100,RGB(50,50,50)代表灰度为50。

  灰度是指黑白图像中点的颜色深度,范围一般从0到255,白色为255 ,黑色为0,故黑白图片也称灰度图像,在医学、图像识别领域有很广泛的用途

  彩色图象的灰度其实在转化为黑白图像后的像素值(是一种广义的提法),转化的方法看应用的领域而定,一般按加权的方法转换,R , G ,B 的比一般为3:6:1。

  任何颜色都有红、绿、蓝三原色组成,假如原来某点的颜色为RGB(R,G,B),那么,我们可以通过下面几种方法,将其转换为灰度:

  1.浮点算法:Gray=R*0.3+G*0.59+B*0.11

  2.整数方法:Gray=(R*30+G*59+B*11)/100

  3.移位方法:Gray =(R*28+G*151+B*77)>>8;

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

  5.仅取绿色:Gray=G;

  通过上述任一种方法求得Gray后,将原来的RGB(R,G,B)中的R,G,B统一用Gray替换,形成新的颜色RGB(Gray,Gray,Gray),用它替换原来的RGB(R,G,B)就是灰度图了。

from: http://sheying.xout.cn/rmzs/70116.html

时间: 2024-12-07 12:35:18

灰度于RGB彩色的相关文章

灰度图转彩色图(伪彩色处理)

将8Bit灰度数据转化为Bgr24的彩色图像 8bit灰度数据:byte[] GrayValue    长度:width * height PixelFormat pixelFormat = PixelFormats.Bgr24; byte[] colorvalues = GrayToColor(GrayValue); ByteSize = Width * Height; IntPtr dataPtr = IntPtr.Zero; GCHandle _hObject = GCHandle.All

从RGB色转为灰度色算法

一.基础  对于彩色转灰度,有一个很著名的心理学公式: Gray = R*0.299 + G*0.587 + B*0.114 二.整数算法 而实际应用时,希望避免低速的浮点运算,所以需要整数算法. 注意到系数都是3位精度的没有,我们可以将它们缩放1000倍来实现整数运算算法: Gray = (R*299 + G*587 + B*114 + 500) / 1000 RGB一般是8位精度,现在缩放1000倍,所以上面的运算是32位整型的运算.注意后面那个除法是整数除法,所以需要加上500来实现四舍五

【转】从RGB色转为灰度色算法

----本文摘自作者ZYL910的博客 一.基础  对于彩色转灰度,有一个很著名的心理学公式: Gray = R*0.299 + G*0.587 + B*0.114 二.整数算法 而实际应用时,希望避免低速的浮点运算,所以需要整数算法. 注意到系数都是3位精度的没有,我们可以将它们缩放1000倍来实现整数运算算法: Gray = (R*299 + G*587 + B*114 + 500) / 1000 RGB一般是8位精度,现在缩放1000倍,所以上面的运算是32位整型的运算.注意后面那个除法是

从RGB色转为灰度色算法(转)

从RGB色转为灰度色算法(转) http://www.cnblogs.com/carekee/articles/3629964.html 一.基础  对于彩色转灰度,有一个很著名的心理学公式: Gray = R*0.299 + G*0.587 + B*0.114 二.整数算法 而实际应用时,希望避免低速的浮点运算,所以需要整数算法. 注意到系数都是3位精度的没有,我们可以将它们缩放1000倍来实现整数运算算法: Gray = (R*299 + G*587 + B*114 + 500) / 100

彩色图到灰度图究竟是怎么变换的

??之前对彩色图与灰度图仅仅停留在前者是3通道后者是单通道的理解上.我也知道计算机看图片是将它们当成数组,但是一直搞不清楚将一张彩色图转变为灰度图是怎么操作的.当然,很多库函数都提供借口,包括OpenCV.PIL等.这里我参考https://blog.csdn.net/saltriver/article/details/79677116 手动实现将一张彩色图转换为灰色图.当然还是以帅气的哈士奇.jpg作为我的练习对象,看到它敲代码都有动力. from PIL import Image impor

从默认彩色化,到灰度化.[相互转化]

从默认彩色化,到灰度化. <div id="friendBox"><a href=""><img src="images/friendPic2.jpg" /></a><a href=""><img src="images/friendPic2.jpg" /></a><a href=""><

将一个 32 位 RGB 像素颜色值为灰度

写一个函数,将一个 32 位 RGB 像素颜色值为灰度. RGB转为灰度的公式: grey = 0.3 * red + 0.59 * green + 0.11 * blue; RGB像素的格式 (左边为最高位,右边是最低位):00000000RRRRRRRRGGGGGGGGBBBBBBBB 函数原型为: c++: unsigned int ToGrey(unsigned int rgb); unsigned int ToGrey(unsigned int rgb) { unsigned int

彩色模型

彩色模型(又称彩色空间或彩色系统)是描述色彩的一种方法,本质上,彩色模型就是坐标系统和子空间的规范,系统中的每种颜色由单个点来表示.下面介绍两种最常用的彩色模型. 一.RGB彩色模型: RGB模型是最通用的面向设备的彩色模型,主要用于彩色显示器和彩色视频摄像机.RGB模型利用了三原色原理,即大多数颜色都可由红.绿.蓝三原色按不同比例混合构成.该模型确定的彩色子空间如下: 红.绿.蓝在3个角上,青.深红.黄在另外3个角上,黑色在原点处,白色位于离原点最远的角上:灰度等级沿着主对角线从黑色到白色分布

流媒体 3——彩色数字图像基础

1. 视觉系统的颜色感知 颜色是视觉系统对可见光的感知结果.可见光是波长在380 nm-780 nm之间的电磁波,我们看到的大多数光不是一种波长的光,而是由许多不同波长的光组合成的.(1).眼睛本质上是一个照相机.人的视网膜(human retina)通过神经元来感知外部世界的颜色,每个神经元或者是一个对颜色敏感的锥体(cone),或者是一个对颜色不敏感的杆状体(rod).(2).红.绿和蓝三种锥体细胞对不同频率的光的感知程度不同,对不同亮度的感知程度也不同,人们可以使用数字图像处理技术来降低数