新闻资讯
看你所看,想你所想

rgb2ind

rgb2ind

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

该函式将真彩色图像转换为索引图像, 由于RGB图像一个像素占用三个位元组, 分别存储R、G、B分量的值,而索引图像一个像素占用一个位元组。在将灰度图像转换为索引图像时, 是从3个位元组映射到一个位元组的关係。

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)

转载请注明出处海之美文 » rgb2ind

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com