数字图像的表示

  1. 二值图像

     一般用于黑白图像存储,常见于早期的计算机及显示设备上,每个像素以0表示黑色,1表示白色,则矩阵

    \begin{bmatrix} &1 &1 &1 &1 &1 &1 &1 &1 &\\ &0 &0 &1 &0 &1 &1 &0 &0 &\\ &0 &0 &1 &1 &0 &1 &0 &0 &\\ &0 &0 &1 &1 &1 &1 &0 &0 &\\ &0 &0 &1 &0 &1 &0 &0 &1 &\\ &1 &1 &0 &1 &0 &1 &0 &0 &\\ &1 &0 &1 &0 &1 &1 &0 &1 &\\ &0 &0 &0 &0 &0 &0 &0 &0 & \end{bmatrix}

    表示的二值图像为:

    二维码估计就是这么生成的,这种图像在单片机用单色液晶屏输出时最常用;

    二值图像的唯一参数为分辨率,分辨率越大,显示的图像越清晰。

    每像素存储单元:1 bit


     
  2. 灰度图像

    这个世界并非非黑即白,在黑白之间还可以划分若干个不同级别的灰色区间——灰阶就是这么产生的;
    8位的灰阶是应用较为广泛的标准,即用0~255将黑到白划分256个等级,如下图:
    阶数越多(数字量位数越大),则过渡越自然,因此 灰度图引入了一个新参数:灰阶
    以前的黑白照片,严格来说,应该是灰度照片:

    既能描述形状,又能描述景深,灰度图已经很实用了,能够感知客观世界,当然,对于能够感知不同频率光谱的动物而言,世界是多彩的,于是还需要在计算机中表示色彩。

    每像素存储单元:1~2 Byte  (视灰阶位数而定)
     
  3. RGB(A)& CMYK彩色图像
     -赫尔姆霍兹定理(The Young-Helmholtz theory) 告诉咱们,主动光的三原色为 红(Red),绿(Green),蓝(Blue),三色按不同的比例混合,生成了世界上各种颜色,反之,任何色彩理论上可以分解为三原色的特定比例组合——于是有了RGB色彩表示法。上图


    可以看出,蓝绿混合出青色(Cyan),红蓝混合出粉色(Magenta),红绿混合出黄色(Yellow),三色混合出白色(主动光); 将RGB“翻转一下”就变成了CMYK , K是中间的Black。
    RGB图像中,每个像素分为3个通道,每个通道用0~255分别表示红绿蓝三色的“浓度”: 例如 rgb(255,255,255)表示白色,rgb(0,0,0)表示黑色
    *RGB的基础上再增加一个表示透明度的Alpha通道值,就组成了RGBA 图像;

    RGBA 一般称为 加色法(多用于屏幕显示),图像整体偏亮; CMYK一般称为减色法(多用于印刷色彩表述,如打印机输出),图像一般偏暗。


    每像素存储单元:3 or 4 Bytes

色彩空间: HSL 和 HSV

HSL即色相饱和度亮度(英语:Hue, Saturation, Lightness)。HSV即色相饱和度明度(英语:Hue, Saturation, Value),又称HSB,其中B即英语:Brightness。

【注】 基于心理学认知、生物神经科学……不同学科的理论,颜色模型有很多,最为出名的当属 Young-Helmholtz 提出的三原色模型,就是常用的RGB, 另一个为 海灵(Hering,又译作 黑林)的对色理论(Opponent colour theory) , 19世纪中晚期,著名的心理学家Helmholtz和Hering一直就色觉及其他视觉模型互相争论,部分源于对科学的执着,部分源自两人之间的私人恩怨(文献里读到的啊,不要问是啥恩怨,问就是不知道)。 随着现代生物学和神经科学研究的深入,两位 De Valois(RUSSELL L. DE VALOIS and KAREN K. DE VALOIS)于1975年从生物视觉神经的角度阐述了两者的互补关系:1. 两者分别属于视觉通道(visual pathway)中的两个不同的过程(two stages),三原色理论属于色觉感知阶段而对立色理论则属于色觉传输及处理(理解和加工)阶段; 2. 两者分别解释了不同功能的神经元:在视网膜的感知层,只有三种对不同波长的光线敏感的视锥细胞(cones),分别是长(L- red),中(M-green)和短(S-blue)——这不就是三原色么?但是到了视网膜的无长突细胞(amacrine cells)和神经节处(ganglion cells)之后,三原色被编码为三组对色: 黑-白, 红-绿, 黄-蓝—— 这就是Hering主张的对立过程( opponent process )理论了。简单说结论: 两个理论都是正确且成立的。由于从电路上看,实现三原色更为简单,所以目前一般的电子成像设备(数码相机,屏幕等等)均采用了RGB模型,但随着人工智能近年向连接主义倾斜,Hering模型也许从原理上更符合复杂的色觉感知。近年有研究人员尝试将Hering模型用于计算机视觉任务例如: 碰撞检测

https://zh.wikipedia.org/wiki/HSL%E5%92%8CHSV%E8%89%B2%E5%BD%A9%E7%A9%BA%E9%97%B4

4. 索引图像

    由于RGB由三个字节存储,色彩空间理论上具有 256*256*256=16,777,216 个离散值(即1677万色,16M色);而实际上,很多可以表达的颜色肉眼分辨率是很难分辨出来的(可以类比声音,差了几个Hz的音,没几个人能分辨出来), 生活中常用的颜色其实多数是离散且不连续的,例如小时候常用的x色水彩笔(我用过的最多的也就四十几支)

于是类似字符的编码,人们也给颜色创建了一个目录(index),通过这个索引查表来得到真实的色彩表示值(写过单片机查表程序的同学们都很熟悉这个映射过程吧),颜色查表过程如下图(从mathworks公司网站间接引用的susan cohen的图)所示

这样,一个原本用三字节表示的色彩值就简化成了一个“页码” (索引)值,用一个字节就可以表示256种不同色彩,大大节省了彩色图的存储空间,当然,由于是有损压缩,代价就是色彩不那么“细腻”了—— 无所谓了,反正大多数人不怎么在意,况且,即使显示的色彩再丰富,输出设备支持的颜色空间依然是有限的(据说各国钱币上的色彩就不是一般打印机能够直接输出的)。 

每像素存储单元:1 Byte

5 瞎想

没打错字,就是瞎想不是遐想~~

未来计算机的色彩表达会否更进一步呢?会出现什么新的方法或技术吗? 感觉两个方面可能有变化: 1. 随着存储空间的极大丰富,完全可以用更多字节来表示一个像素的色彩,但目前来看必要性不是很大,因为感觉一千六百多万的色彩值真的真的已经超出人类的需求了; 2. 从二维向三维的过度,VR或AR对这方面估计有研究,并已取得结果,维度的提升或许会根据人类的应用需求而出现一些根据3D图像的特点(光照角度,阴影blabla……)

-------------------------------------------------------------------------------------------------------------------------

推荐阅读:

数字图像的概念,灰度图像、二值图像、RGB图像、索引图像的异同

计算机中的颜色如何表示?

计算机中的颜色V——快速计算颜色的色相值

RGB转灰度的几种算法

RGB图像转为灰度图

RGB,CMYK,HSB各种颜色表示的转换

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值