第三节 利用MATLAB进行数字图像处理

  一、MATLAB中图像类型分类

  1.彩色图像



图 1-3-1 彩色图像

  2.索引色图像



图 1-3-2 索引色图像

  3.灰度图像

  灰度图(gray-scale image)按照灰度等级的数目来划分。只有黑白两中颜色的图像称为单色图像(monochrome image),如下图所示的标准图像。图中的每个像素的像素值用1位存储,它的值只有“0”或者“1”,一幅640×480的单色图像需要占据37.5 KB的存储空间。

  一幅标准灰度图像,如果每个像素的像素值用一个字节表示,灰度值级数就等于256级,每个像素可以是0~255之间的任何一个值,一幅640×480的灰度图像就需要占据300KB的存储空间。



图 1-3-3 灰度图像


  4.二值图像



图 1-3-4 二值图像

  二、在图像操作中,需要对图像的类型进行转换,MATLAB提供的函数

  1.通过设置亮度阈值将其他图像转换为二值图,其语法格式为:

  BW = im2bw(I,level)
  BW = im2bw(X,map,level)
  BW = im2bw(RGB,level)

  例如:

    load trees
    BW=im2bw(X,map,0.5)
    imshow(X,map)
    figure,imshow(BW)

  2.将索引色图像转换为灰度图像,其语法格式为:

  I = ind2gray(X,map)

  例如:

    load trees
    I = ind2gray(X,map);
    imshow(X,map)
    figure,imshow(I)

  3.将索引色图像转换为真彩色图像,其语法格式为:

  RGB = ind2rgb(X,map)

  4.将灰度图像转换为索引色图像,其语法格式为:

  [X,map] = gray2ind(I,n)

  5.通过设定阈值将灰度图像转换成索引色图像,其语法格式为:

  X = grayslice(I,n)
  X = grayslice(I,v)

  例如:

    I = imread('ngc4024m.tif');
    X = grayslice(I,16);
    imshow(I)
    figure, imshow(X,jet(16))

  6.将一幅真彩色图像转换成灰度图像,其语法格式为:

  I = rgb2gray(RGB)
  newmap = rgb2gray(map)

  7.将真彩色图像转换成索引色图像,其语法格式为:

  [X,map] = rgb2ind(RGB,tol)
  [X,map] = rgb2ind(RGB,n)
  X = rgb2ind(RGB,map)

  例如:

    rgb=imread('lily.tif');
    imshow(rgb);
    [X_no_dither,map]=rgb2ind(rgb,8,'nodither');
    [X_dither,map]=rgb2ind(rgb,8,'dither');
    figure, imshow(X_no_dither,map);
    figure, imshow(X_dither,map);