Pat*_*rts 2 algorithm matlab image-processing color-mapping indexed-image
我正在阅读RGB2IND函数的文档,发现它使用了Uniform Quantization、Minimum Variance Quantization和Inverse Colormap,尽管我不太清楚这些给定参数如何适合算法。
是否有任何解释性语言(MATLAB、JavaScript、Python)的代码示例可以准确演示此函数在此语法中的工作原理?
[X,map] = rgb2ind(RGB,n);
Run Code Online (Sandbox Code Playgroud)
正如文档页面所说,这取决于您使用的函数形式:
[X,map] = rgb2ind(RGB,n):如果您指定颜色数作为输入,这将使用最小方差量化来构建最多n颜色的索引图像
[X,map] = rgb2ind(RGB,tol):如果你指定一个容差值作为输入,它使用统一量化来构建最多(floor(1/tol)+1)^3颜色的索引图像
X = rgb2ind(RGB,map): 如果你指定一个颜色图作为输入,它将使用逆颜色图算法来构建映射到指定的索引图像map
你总是可以自己阅读源代码 ( edit rgb2ind)
以下示例展示了如何使用所有形式的函数:
%% some truecolor image
RGB = imread('pears.png');
imshow(RGB)
%% 16 colors
[X,map] = rgb2ind(RGB, 16);
imshow(X,map)
%% 0.15 tolerance, no dithering
[X,map] = rgb2ind(RGB, 0.15, 'nodither');
imshow(X,map)
%% use a pinkish colormap with 32 colors
map = pink(32);
X = rgb2ind(RGB, map);
imshow(X,map)
Run Code Online (Sandbox Code Playgroud)