zoukankan      html  css  js  c++  java
  • 图像处理基础---RGB图 灰度图 索引图 调色板

    (1)二进制图

    在二进制图中,像素的取值为两个离散数值0或1中的一个,0代表黑色,1代表白色

     A=[0 0 1;1 1 0; 0 0 1];
    >> imshow(A,'InitialMagnification','fit')          %调整合适的窗口显示A。

    (2)索引图

    索引图像包括一个数据矩阵X,一个颜色映像矩阵Map。其中Map是一个包含三列、若干行的数据阵列,其中每个元素的值均为[0, 1]之间的双精度浮点型数据。Map矩阵的每一行分别表示红色、绿色和蓝色的颜色值。在MATLAB中,索引图像是从像素值到颜色映射表值的“直接映射”。像素颜色由数据矩阵X作为索引指向矩阵Map进行索引,例如,值1指向矩阵Map中的第一行,值2指向第二行,以此类推。

    索引图像的作用就是体积小,方便传输,只需要把索引表传输过去,接收方用对应的RGB颜色表还原就行。

    (3)灰度图

    灰度图通常由一个unit8、unit16、单精度类型或者双精度类型的数组描述,其实质是一个数据矩阵I,该矩阵中的数据均代表了一定范围内的灰度级,每一个元素与图像的一个像素点相对应,通常0代表黑色,1、255或65635(为数据矩阵的取值范围上限)代表白色。

    (4)RGB图

    RGB图像又称为真彩图像,它使用R、G、B 3个分量标识一个像素的颜色,R、G、B分别代表红、绿、蓝3种不同的基础颜色,通过3基色可以合成出任意颜色。所以对一个尺寸nxm的彩色图像来说,MATLAB中则存储为一个nxmx3 的多维数据数组,其中数组中的元素定义了图像中每一个像素的红、绿、蓝颜色值。图形文件格式把RGB图像存储为24位的图像,红、绿、蓝分量分别占用8位,因而理论上可以有2^24种颜色。

     1 clear;clc;
     2 A=imread('D:mycodematlab-test.jpg');
     3 subplot(2,2,1);
     4 imshow(A);
     5 title('原图');
     6 
     7 %RGB图转化为灰度图
     8 l=rgb2gray(A);
     9 subplot(2,2,2);
    10 imshow(l);
    11 title('灰度图');
    12 
    13 %灰度图转化为索引图
    14 [X,map]=gray2ind(l);
    15 subplot(2,2,3);
    16 imshow(X);
    17 title('灰度图转化为索引图的X矩阵');
    18 
    19 %灰度图转化为索引图的X矩阵
    20 subplot(2,2,4);
    21 imshow(map);
    22 title('灰度图转化为索引图的调色板图map');

     1 %---------------------------------------------------
     2 
     3 clear;clc;
     4 B=imread('D:mycodematlab-test1.jpg');
     5 subplot(2,2,1);
     6 imshow(B);
     7 title('原图');
     8 
     9 %RGB图转化为索引图
    10 [X,map]=rgb2ind(B,256);
    11 subplot(2,2,2);
    12 imshow(X);
    13 title('RGB图转化为索引图中的X矩阵');
    14 
    15 %索引图转化为索引图的X矩阵
    16 subplot(2,2,3);
    17 imshow(map);
    18 title('RGB图转化为索引图中的调色板map');
    19 
    20 %索引图转化为灰度图
    21 l=ind2gray(X,map);
    22 subplot(2,2,4);
    23 imshow(l);
    24 title('索引图转化为灰度图');

  • 相关阅读:
    freemarker报错之十一
    freemarker定义一个连续的序列
    freemarker报错之十
    freemarker之数组
    解决linux环境下nohup: redirecting stderr to stdout问题
    如何查看Linux操作系统版本?
    log file sync
    freemarker中的round、floor和ceiling数字的舍入处理
    freemarker中的split字符串分割
    freemarker中的left_pad和right_pad
  • 原文地址:https://www.cnblogs.com/wydxry/p/8064908.html
Copyright © 2011-2022 走看看