请输入您要查询的百科知识:

 

词条 rgb2ind
释义

Matlab函数rgb2ind简介

函数功能:将真彩色图像转换为索引图像。在matlab命令窗口中键入doc rgb2ind或help rgb2ind可以获得更多关于该函数的帮助信息。

该函数将真彩色图像转换为索引图像, 由于RGB图像一个像素占用三个字节, 分别存储R、G、B分量的值,而索引图像一个像素占用一个字节。在将灰度图像转换为索引图像时, 是从3个字节映射到一个字节的关系。 通常有以下三种算法:

gray = (R + G + B) / 3,即求得R、G、B三个分量平均值作为索引图像中对应像素点的像素值。

gray = min(R, G, B),即以R、G、B三个中最小分量作为索引图像对应像素点的像素值。

gray = 0.3 * R + 0.59 * G + 0.11 * B(或者表示为:gray = ((77 * R + 151 * G + 28 * B) >> 8))

调用格式:

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

使用第二种算法把真彩色图像转换为索引图像,其中n指定map中颜色项数, n最大不能超过65536。

返回值中map即索引图像的调色板。

X = rgb2ind(RGB, map)

使用调色板map将真彩色图像转换为索引图像,即在调色板中找到与真彩色图像颜色值最接近的颜色作为转换后的索引图像的像素值。map中颜色项数(即size(map, 1))不能超过65536。

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

利用第一种算法把真彩色图像转换为索引图像, map中最多包含(floor(1/tol)+1)^3种颜色, tol必须是介于0.0和1.0之间的数。

[...] = rgb2ind(..., dither_option)

其中dither_option用于开启/关闭dither, dither_option可以是'dither'(默认值)或'nodither'。

相关函数: ind2gray, mat2gray, ntsc2rgb, rgb2ind, rgb2ntsc

程序示例

% 1. 显示RGB真彩色

imgrgb = imread('flower.jpg');

figure('Name', '显示真彩色图像')

imshow(imgrgb)

% 2. 显示灰度图像

imggray = rgb2gray(imgrgb);

figure('Name', '显示灰度图像')

imshow(imggray)

% 3. 显示索引图像

[imgind, map] = rgb2ind(imgrgb, 10);

figure('Name', '显示索引图像')

imshow(imgind, map)

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/7 19:50:22