LThhVopG 发表于 2018-8-20 09:45:52

MATLAB图像类型转换

图像操作中常需要对图像的类型进行转换。例如,索引彩色图滤前转换成RGB图,才能使用滤波器进行滤波操作。

(1)图像颜色筛选转换

MATLAB提供dither函数通过筛选算法转换图像类型,该函数的调用格式如下:
<p>X = dither(RGB, map)</p><p>X = dither(RGB, map, Qm, Qe)</p><p>BW = dither(I)</p>
其中,RGB为真彩色图,map为调色板,Qm为沿每个颜色轴反转颜色图的量化(即对于补色各颜色轴)的位数,Qe为颜色空间计算误差的量化位数;如Qe<Qm,则不进行筛选操作;X为得到的索引图。最后一种格式将灰度图I转换为二进制图BW。

(2)灰度图/二进制图转换为索引图

MATLAB提供gray2ind函数将灰度图/二进制图转换成索引图,该函数调用格式为:
<p> = gray2ind(I,n)</p><p> = gray2ind(BW,n)</p>
其中,I为灰度图,map为调色板矩阵,X索引图,n为灰度级数n,BW为二进制图。

(3)索引图转换为灰度图

MATLAB提供ind2gray函数将索引图转换为灰度图,该函数调用格式为:
I= ind2gray(X,map)
其将具有调色板矩阵的索引色图X转换成灰度图I,map为调色板矩阵。

(4)RGB图转换为灰度图

MATLAB提供rgb2gray函数将RGB图转换成灰度图,该函数调用格式为:
<p>I = rgb2gray(RGB)</p><p>newmap = rgb2gray(map)</p>
其中,参数RGB为RGB图,I为灰度图,map和newmap为调色板矩阵。

注意:如果rgb2gray函数输入为RGB图,则图像可以是无符号类型或双精度类型,输出与输入图像类型相同。如果输入为调色板图,则输入和输出的图像均为双精度类型。

(5)RGB图转换为索引图

MATLAB提供rgb2ind函数将RGB图转换成为索引图,该函数调用格式为:
<p> = rgb2ind(RGB, n)</p><p>X = rgb2ind(RGB, map)</p><p> = rgb2ind(RGB, tol)</p><p>[...] = rgb2ind(..., dither_option)</p>
其中,参数RGB为RGB图;X为索引图;map为调色板矩阵;n为颜色位数;tol为误差,取值范围为0.0~1.0;dither_option设置采用的方法,包括直接转换、均匀量化、最小量化颜色图近似,除直接转换方法外,其他方法在不指定选项nodither时自动进行图像筛选。

(6)索引图转换为RGB图

MATLAB提供使用ind2RGB函数将索引图像转换成真彩图像,该函数调用格式为:
RGB= ind2rgb(X,map)
其中,参数RGB为RGB图,X为索引图,map为调色板矩阵。

(7)阈值法从灰度图产生索引图

MATLAB提供grayslice函数通过设定阈值将灰度图转换成索引图,该函数调用格式为:
X = grayslice(I, n)
其中,I为灰度图,n为均匀量化等级数,X为索引图。

(8)将矩阵转换为灰度图像

MATLAB提供mat2gray函数将数据矩阵转换为灰度图像,该函数调用格式为:
<p>I = mat2gray(A, )</p><p>I = mat2gray(A)</p>
其中,I为灰度图,A为矩阵;将数据矩阵X转换为图像I,XmIn对应灰度0(最暗即黑),XmaX对应灰度1(最亮即白),未设置时,则将X矩阵中最小设为XmIn,最大设为XmaX。

页: [1]
查看完整版本: MATLAB图像类型转换