zoukankan      html  css  js  c++  java
  • 图像的表示与通道数问题

    原文地址:https://blog.csdn.net/mao_hui_fei/article/details/78217049

    数字图像的基本概念
    对于一幅的数字图像,我们看到的是 肉眼可见的一幅真正的图片,但是计算机看来,这副图像只是一堆亮度各异的点。一副尺寸为 M × N 的图像可以用一个 M × N 的矩阵来表示,矩阵元素的值表示这个位置上的像素的亮度,一般来说像素值越大表示该点越亮。
    一般来说,灰度图用 2 维矩阵表示,彩色(多通道)图像用 3 维矩阵(M× N × 3)表示。
    下面说说什么是通道数
    *******************************************************************
    1
    通道数问题
    描述一个像素点,如果是灰度,那么只需要一个数值来
    描述它,就是单通道。
    如果一个像素点,有RGB三种颜色来描述它,就是三通道。
    而四通道图像,就是R、G、B加上一个A通道,表示透明度。一般叫做alpha通道,表示透明度的。
    2通道图像不常见,通常在程序处理中会用到,如傅里叶变换,可能会用到,一个通道为实数,一个通道为虚数,主要是编程方便。
    通过通道可以改变图像的色相和颜色,例如如果你保存红色通道,那么图像本身就只保留红色的元素和信息。
    如果察看单个通道,发现每个通道都显示为一幅灰度图像(不能说是黑白图像)。某个通道的灰度图像中的明暗对应该通道色的明暗,从而表达出该色    光在整体图像上的分布情况。由于通道共有3个,所以也就有了3幅灰度图像。
        通道中的纯白,代表了该色光在此处为最高亮度,亮度级别是255。
     通道中的纯黑,代表了该色光在此处完全不发光,亮度级别是0。
     介于纯黑纯白之间的灰度,代表了不同的发光程度,亮度级别介于1至254之间。
     灰度中越偏白的部分,表示色光亮度值越高,越偏黑的部分则表示亮度值越低。
    现在可以明白为何通道用灰度表示了吧?因为通道中色光亮度从最低到最高的特性,正符合灰度模式那种从黑到白过渡的表示。正是因为灰度的这种特性,使得它在以后还被应用到其它地方。通道中的灰度,与颜色调板的灰度滑块是对应的
     一幅完整的图像,红色绿色蓝色三个通道缺一不可。即使图像中看起来没有蓝色,只能说蓝色光的亮度均为0,但不能说没有蓝色通道存在。
        “存在、亮度为零”和“不存在”是两个不同的概念
    ******************************************************************************
    1
    接着再说说图像是如存储的,即使如何编码的:
    如果是单通道图像,即灰度图,每个像素值用一个八位的二进制即可,如下图:

    其中,I(ij)表示第i行第j列的亮度值。
    如果是多通道图像,比如 RGB 图像,则每个像素用三个字节表示。在 OpenCV 中, RGB 图像的通道顺序为 BGR ,存储如下图 所示:
  • 相关阅读:
    Coroutine in Java
    常见的开源日志(包括分布式)
    深入理解 Java G1 垃圾收集器--转
    卷积神经网络——本质上是在利用卷积做特征压缩,然后再全连接
    神经网络和反向传播算法——反向传播算法本质上是随机梯度下降,链式求导法则而来的
    LSTM入门学习——结合《LSTM模型》文章看
    LSTM入门学习——本质上就是比RNN的隐藏层公式稍微复杂了一点点而已
    LSTM模型
    syslog介绍-CS架构来采集系统日志
    NetFlow是一种数据交换方式,提供网络流量的会话级视图,记录下每个TCP/IP事务的信息
  • 原文地址:https://www.cnblogs.com/lzhu/p/10342859.html
Copyright © 2011-2022 走看看