• 【数字图像处理之(二)】图像的分类


    在计算机中,依照颜色和灰度的多少能够将图像分为灰度图像二值图像索引图像RGB图像四种基本类型。在计算机中,一般是以数组(或矩阵)的形式储存图像的。

    灰度图像:

    • 灰度图像矩阵元素的取值范围通常为[0,255]。

      因此其数据类型一般为8位无符号整数的【uint8】,这就是人们经常提到的256灰度图像。“0”表示纯黑色,“255”表示纯白色。中间的数字从小到大表示由黑到白的过渡色。

    • 然而。在某些领域(比如医学成像),要求提供超出【uint8】的动态范围。会採用【uint16】和【int16】数据类型。
    • 针对计算灰度的操作(比如傅里叶变换)。会使用 【double】 和【single】类型;假设图像是【double】或【single】数据类型。灰度图像的值通常被归一化标定位【0-1】范围内,0代表黑色,1代表白色。0到1之间的小数表示不同的灰度等级。

      二值图像能够看成是灰度图像的一个特例。

        (注意:图像的类型。和图像的数据类型是全然不同的概念,前者代表图像的本身。后者仅仅是图像在计算机上的存储方式而已)

    二值图像:

    • 一幅二值图像的二维矩阵仅由0、1两个值构成,“0”代表黑色,“1”代白色。

      因为每一像素(矩阵中每一元素)取值仅有0、1两种可能,所以计算机中二值图像的数据类型通常为1个二进制位。

    • 在MATLAB中,二值图像具有很特殊的意义。仅仅有逻辑数据类型【logical】才被觉得是二值图像,就算是仅仅包括0和1的数据类的数组(比如【uint8】),在MATLAB中都不觉得是二值图像。

      能够使用logical将其它类型的数组转换为二值图像:B = logical(A)


    索引图像

    • 索引图像包括一个数据矩阵X。一个颜色映像矩阵Map。当中Map是一个包括三列、若干行的数据阵列。当中每个元素的值均为[0, 1]之间的双精度浮点型数据。

      Map矩阵的每一行分别表示红色、绿色和蓝色的颜色值。在MATLAB中,索引图像是从像素值到颜色映射表值的“直接映射”。像素颜色由数据矩阵X作为索引指向矩阵Map进行索引,比如,值1指向矩阵Map中的第一行。值2指向第二行,以此类推。

    • 一般索引图像仅仅能显示256种颜色(由数据矩阵X的取值范围决定),与灰度图像不同的是,灰度图像的颜色表的值是从0到255连续的值,所以灰度图像的数据我们即能够看成是实际的像素值。也能够看成是索引值。
    • 索引图的长处是存储所需容量小。且索引图像一般用于存放色彩要求比較简单的图像,如Windows中色彩构成比較简单的壁纸多採用索引图像存放,假设图像的色彩比較复杂,就要用到RGB真彩色图像。
    
    

    RBG图像:

    • RGB图像与索引图像一样都能够用来表示彩色图像。与索引图像一样。它分别用红(R)、绿(G)、蓝(B)三原色的组合来表示每个像素的颜色。但与索引图像不同的是,RGB图像每个像素的颜色值(由RGB三原色表示)直接存放在图像矩阵中。
    • 因为每一像素的颜色需由R、G、B三个分量来表示,一副大小为M*N的RGB图像须要3个M*N大小的矩阵表示。每个矩阵代表一个颜色通道。

      RGB图像的数据类型一般为【uint】数据类型(也能够是【double】)。通经常使用于表示和存放真彩色图像(有2^24种颜色),当然也能够存放灰度图像(假设3个通道的值都是一样的。则为灰度图像)。

    • 在MATLAB中用cat操作将3通道合成彩色图像:rab_image = cat(3, R, G, B);
    • 用以下这些命令能够提取出三个通道的图像:
      • R = rgb_image(:。:。1);
      • G = rgb_image(:。:,2);
      • B = rgb_image(:,:,3);














  • 相关阅读:
    解决hung_task_timeout_secs问题【方法待校验】
    C++面向对象程序设计 学习心得
    试水训练1
    并查集
    ACM儿童节热身训练
    图论部分学习小结
    ACM儿童节热身训练
    堆及其应用学习小结
    ACM本周小结
    POJ-3273-Monthly Expense
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10941601.html
Copyright © 2020-2023  润新知